ES2889929T3 - Estimación de compensación temporal - Google Patents

Estimación de compensación temporal Download PDF

Info

Publication number
ES2889929T3
ES2889929T3 ES18779509T ES18779509T ES2889929T3 ES 2889929 T3 ES2889929 T3 ES 2889929T3 ES 18779509 T ES18779509 T ES 18779509T ES 18779509 T ES18779509 T ES 18779509T ES 2889929 T3 ES2889929 T3 ES 2889929T3
Authority
ES
Spain
Prior art keywords
comparison values
channel
encoder
frame
values
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
ES18779509T
Other languages
English (en)
Inventor
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Venkatraman 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 ES2889929T3 publication Critical patent/ES2889929T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/003Digital PA systems using, e.g. LAN or internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R27/00Public address systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S1/00Two-channel systems
    • H04S1/007Two-channel systems in which the audio signals are in digital form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/03Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/15Aspects of sound capture and related signal processing for recording or reproduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/305Electronic adaptation of stereophonic audio signals to reverberation of the listening space

Landscapes

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

Abstract

Un método para codificación de señales de audio de múltiples canales en un codificador de un dispositivo electrónico, comprendiendo el método: estimar valores de comparación, en el codificador, cada valor de comparación indicativo de una cantidad de desajuste temporal entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo; suavizar, en el codificador, los valores de comparación para generar valores de comparación suavizados a corto plazo; suavizar, en el codificador, los valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado; calcular, en el codificador, un valor de correlación cruzada entre los valores de comparación y los valores de comparación suavizados a corto plazo; comparar, en el codificador, el valor de correlación cruzada con un umbral; ajustar, en el codificador, los primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo, en respuesta a la determinación de que el valor de correlación cruzada supera el umbral; estimar, en el codificador, un valor de desplazamiento de tentativa basándose en los segundos valores de comparación suavizados a largo plazo; determinar, en el codificador, un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa; desplazar de manera no causal, en el codificador, un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular; y generar, en el codificador, al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado.

Description

d e s c r ip c ió n
Estimación de compensación temporal
I. Referencia cruzada a solicitudes relacionadas
La presente solicitud reivindica prioridad de la Solicitud de Patente Provisional de Estados Unidos N.° 62/556.653 titulada "TEMPORAL OFFSET ESTIMARON", presentada el 11 de septiembre de 2017, y a la Solicitud de Patente de Estados Unidos N.° 16/115.129 titulada "TEMPORAL OFFSET ESTIMATION", presentada el 28 de agosto de 2018. II. Campo
La presente divulgación está relacionada en general con la estimación de una compensación temporal de múltiples canales.
III. Descripción de la técnica relacionada
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 diversidad de dispositivos informáticos personales portátiles, que incluyen teléfonos inalámbricos tales como teléfonos móviles e inteligentes, tabletas y ordenadores de portátil que son pequeños, ligeros y se llevan fácilmente por los usuarios. Estos dispositivos pueden comunicar paquetes de voz y datos a través de redes inalámbricas. Además, muchos de tales dispositivos incorporan funcionalidad adicional tal como una cámara fija digital, una cámara de vídeo digital, un grabador digital y un reproductor de ficheros de audio. También, tales dispositivos pueden procesar instrucciones ejecutables, que incluyen aplicaciones de software, tales como una aplicación de explorador web, que pueden usarse para acceder a Internet. Como tal, estos dispositivos pueden incluir capacidades informáticas significativas.
Un dispositivo informático puede incluir múltiples micrófonos para recibir señales de audio. En general, una fuente de sonido está más cerca de un primer micrófono que de un segundo micrófono de los múltiples micrófonos. Por consiguiente, una segunda señal de audio recibida desde el segundo micrófono puede retardarse con relación a una primera señal de audio recibida desde el primer micrófono. En codificación estéreo, las señales de audio desde los micrófonos pueden codificarse para generar un canal medio y uno o más canales laterales. El canal medio puede corresponder a una suma de la primera señal de audio y la segunda señal de audio. Un canal lateral puede corresponder a una diferencia entre la primera señal de audio y la segunda señal de audio. La primera señal de audio puede no estar alineada temporalmente con la segunda señal de audio debido al retardo al recibir la segunda señal de audio con relación a la primera señal de audio. La alineación incorrecta (o "compensación temporal") de la primera señal de audio con relación a la segunda señal de audio puede aumentar una magnitud del canal lateral. Debido al aumento en la magnitud del canal lateral, puede ser necesario un mayor número de bits para codificar el canal lateral. Un enfoque ilustrativo para tratar el problema de los canales de señal alineados de manera incorrecta se desvela en el documento US 2017/0180906 A l.
Adicionalmente, diferentes tipos de trama pueden provocar que el dispositivo informático genere diferentes compensaciones temporales o estimaciones de desplazamiento. Por ejemplo, el dispositivo informático puede determinar que una trama de voz de la primera señal de audio está compensada por una correspondiente trama de voz en la segunda señal de audio en una cantidad particular. Sin embargo, debido a una cantidad de ruido relativamente alta, el dispositivo informático puede determinar que una trama de transición (o trama sin v o z) de la primera señal de audio está compensada por una correspondiente trama de transición (o correspondiente trama sin vo z) de la segunda señal de audio en una cantidad diferente. Las variaciones en las estimaciones de desplazamiento pueden provocar la repetición de muestras y la omisión de artefactos en los límites de trama. Adicionalmente, la variación en las estimaciones de desplazamiento puede dar como resultado energías de canal lateral más altas, lo que puede reducir la eficacia de codificación.
IV. Sumario
De acuerdo con implementaciones de las técnicas desveladas en el presente documento, se proporcionan métodos de acuerdo con las reivindicaciones 1 y 10, aparatos de acuerdo con las reivindicaciones 2 y 11 y un medio legible por ordenador no transitorio de acuerdo con la reivindicación 16.
V. Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un ejemplo ilustrativo particular de un sistema que incluye un dispositivo operable para codificar múltiples canales;
La Figura 2 es un diagrama que ilustra otro ejemplo de un sistema que incluye el dispositivo de la Figura 1; La Figura 3 es un diagrama que ilustra ejemplos particulares de muestras que pueden codificarse por el dispositivo de la Figura 1;
La Figura 4 es un diagrama que ilustra ejemplos particulares de muestras que pueden codificarse por el dispositivo de la Figura 1;
La Figura 5 es un diagrama que ilustra un ejemplo particular de un ecualizador temporal y una memoria;
La Figura 6 es un diagrama que ilustra un ejemplo particular de un comparador de señal;
La Figura 7 es un diagrama que ilustra ejemplos particulares del ajuste de un subconjunto de valores de comparación suavizados a largo plazo basándose en un valor de correlación cruzada de valores de comparación particulares;
La Figura 8 es un diagrama que ilustra otro ejemplo particular del ajuste de un subconjunto de valores de comparación suavizados a largo plazo;
La Figura 9 es un diagrama de flujo que ilustra un método particular del ajuste de un subconjunto de valores de comparación suavizados a largo plazo basándose en un parámetro de ganancia particular;
La Figura 10 representa gráficos que ilustran valores de comparación para tramas de voz , tramas de transición y tramas sin vo z ;
La Figura 11 es un diagrama de flujo que ilustra un método particular de desplazamiento de manera no causal de un canal basándose en una compensación temporal entre audio capturado en múltiples micrófonos;
La Figura 12 es un diagrama de flujo que ilustra otro método particular de desplazamiento de manera no causal de un canal basándose en una compensación temporal entre audio capturado en múltiples micrófonos;
La Figura 13 es un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo que es operable para codificar múltiples canales; y
La Figura 14 es un diagrama de bloques de una estación base que es operativa para codificar múltiples canales.
VI. Descripción detallada
Se desvelan sistemas y dispositivos operables para codificar múltiples señales de audio. Un dispositivo puede incluir un codificador configurado para codificar las múltiples señales de audio. Las múltiples señales de audio pueden capturarse de manera concurrente en el tiempo usando múltiples dispositivos de grabación, por ejemplo, múltiples micrófonos. En algunos ejemplos, las múltiples señales de audio (o el audio de múltiples canales) pueden generarse de manera sintética (por ejemplo, artificialmente) multiplexando varios canales de audio que se graban al mismo tiempo o en tiempos diferentes. Como ejemplos ilustrativos, la grabación o multiplexación concurrente de los canales de audio puede dar como resultado una configuración de 2 canales (es decir, estéreo: izquierdo y derecho), una configuración de 5.1 canales (Ios canales izquierdo, derecho, central, envolvente izquierdo, envolvente derecho y los de énfasis de baja frecuencia (LFE)), una configuración de 7.1 canales, una configuración de 7.1+4 canales, una configuración de 22.2 canales o una configuración de N canales.
Los dispositivos de captura de audio en las salas de teleconferencia (o salas de telepresencia) pueden incluir múltiples micrófonos que obtienen audio espacial. El audio espacial puede incluir el habla, así como audio de fondo que se codifica y transmite. El habla/audio de una fuente dada (por ejemplo, un hablante) puede llegar en Ios múltiples micrófonos en diferentes tiempos dependiendo de cómo estén dispuestos Ios micrófonos, así como de dónde esté ubicada la fuente (por ejemplo, el hablante) con respecto a Ios micrófonos y a las dimensiones de la sala. Por ejemplo, una fuente de sonido (por ejemplo, un hablante) puede estar más cerca de un primer micrófono asociado con el dispositivo que de un segundo micrófono asociado con el dispositivo. Por lo tanto, un sonido emitido desde la fuente de sonido puede alcanzar el primer micrófono más anteriormente en el tiempo que el segundo micrófono. El dispositivo puede recibir una primera señal de audio mediante el primer micrófono y puede recibir una segunda señal de audio mediante el segundo micrófono.
La codificación de lado medio (MS) y la codificación de estéreo paramétrico (PS) son técnicas de codificación de estéreo que pueden proporcionar eficacia mejorada a través de técnicas de codificación dual-mono. En codificación dual-mono, el canal (o señal) izquierdo (L) y el canal (o señal) derecho (R) se codifican de manera independiente sin hacer uso de correlación inter-canal. La codificación de MS reduce la redundancia entre un par de canales L/R correlacionados transformando el canal izquierdo y el canal derecho a un canal de suma a un canal de diferencia (por ejemplo, un canal lateral) antes de la codificación. La señal de suma y la señal de diferencia se codifican en forma de onda en codificación de MS. Se gastan relativamente más bits en la señal de suma que en la señal lateral. La codificación PS reduce la redundancia en cada subbanda transformando las señales L/R en una señal de suma y un conjunto de parámetros laterales. Los parámetros laterales pueden indicar una diferencia de intensidad inter-canal (IID), una diferencia de fase Ínter-canal (IPD), una diferencia de tiempo ¡nter-canal (ITD), etc. La señal de suma se codifica en forma de onda y se transmite Junto con los parámetros laterales. En un sistema híbrido, el canal lateral puede codificarse en forma de onda en las bandas inferiores (por ejemplo, menos de 2 kilohercíos (kHz)) y codificarse en PS en las bandas superiores (por ejemplo, mayores o iguales que 2 kHz) donde la conservación de fase ínter-canal es perceptualmente menos crítica.
La codificación de MS y la codificación PS pueden hacerse en cualquiera del dominio de la frecuencia o en el dominio de la subbanda. En algunos ejemplos, el canal izquierdo y el canal derecho pueden estar descorrelacionados. Por ejemplo, el canal izquierdo y el canal derecho pueden incluir señales sintéticas descorrelacionadas. Cuando el canal izquierdo y el canal derecho están descorrelacionados, la eficacia de codificación de la codificación de MS, la codificación de PS, o ambas, puede acercarse a la eficacia de codificación de la codificación dual-mono.
Dependiendo de una configuración de grabación, puede haber un desplazamiento temporal entre un canal izquierdo y un canal derecho, así como otros efectos espacíales tales como eco y reverberación de sala. S í no se compensa el desplazamiento temporal y el desajuste de fase entre los canales, el canal de suma y el canal de diferencia pueden contener energías comparables reduciendo las ganancias de codificación asociadas con las técnicas de MS o PS. La reducción en las ganancias de codificación puede ser basándose en la cantidad de desplazamiento temporal (o de fase). Las energías comparables de la señal de suma y la señal de diferencia pueden limitar el uso de codificación de MS en ciertas tramas donde los canales están desplazados temporalmente, pero están altamente correlacionados. En codificación estéreo, puede generarse un canal medio (por ejemplo, un canal de suma) y un canal lateral (por ejemplo, un canal de diferencia) basándose en la siguiente fórmula:
M= (L+R)/2, S= (L-R)/2, Fórmula 1
donde M corresponde al canal medio, S corresponde al canal lateral, L corresponde al canal izquierdo y R corresponde al canal derecho.
En algunos casos, el canal medio y el canal lateral pueden generarse basándose en la siguiente fórmula:
M =c ■ (L+R), S= c ■ (L-R), Fórmula 2
donde c corresponde a un valor complejo que es dependiente de la frecuencia. Generar el canal medio y el canal lateral basándose en la Fórmula 1 o la Fórmula 2 puede denominarse como realizar un algoritmo de "mezcla descendente". Un proceso inverso de la generación del canal izquierdo y el canal derecho a partir del canal medio y el canal lateral basándose en la Fórmula 1 o la Fórmula 2 puede denominarse como realizar un algoritmo de "mezcla ascendente".
Un enfoque ad-hoc usado para elegir entre codificación de MS o codificación dual-mono para una trama particular puede incluir generar una señal medía y una señal lateral, calcular energías de la señal medía y la señal lateral, y determinar realizar codificación de m S basándose en las energías. Por ejemplo, puede realizarse codificación de MS en respuesta a la determinación de que la relación de las energías de la señal lateral y la señal medía es menor que un umbral. Para ilustrar, se desplaza un canal derecho en al menos un primer tiempo (por ejemplo, aproximadamente 0,001 segundos o 48 muestras en 48 kHz), una primera energía de la señal medía (que corresponde a una suma de la señal izquierda y la señal derecha) puede ser comparable a una segunda energía de la señal lateral (que corresponde a una diferencia entre la señal izquierda y la señal derecha) para tramas del habla de v o z . Cuando la primera energía es comparable a la segunda energía, puede usarse un número superior de bits para codificar el canal lateral, reduciendo de esta manera la eficacia de codificación de la codificación de MS con relación a codificación dual-mono. La codificación dual-mono puede usarse, por lo tanto, cuando la primera energía es comparable a la segunda energía (por ejemplo, cuando la relación de la primera energía y la segunda energía es mayor o igual que el umbral). En un enfoque alternativo, la decisión entre codificación de MS y codificación dual-mono para una trama particular puede hacerse basándose en una comparación de un umbral y en valores de correlación cruzada normalizados del canal izquierdo y el canal derecho.
En algunos ejemplos, el codificador puede determinar un valor de desajuste temporal indicativo de un desplazamiento temporal de la primera señal de audío con relación a la segunda señal de audío. El valor de desajuste puede corresponder a una cantidad de retardo temporal entre la recepción de la primera señal de audío en el primer micrófono y la recepción de la segunda señal de audío en el segundo micrófono. Adicionalmente, el codificador puede determinar el valor de desajuste en una base trama a trama, por ejemplo, basándose en cada trama de 20 mílísegundos (ms) de habla/audío. Por ejemplo, el valor de desajuste puede corresponder a una cantidad de tiempo que se retarda una segunda trama de la segunda señal de audío con respecto a una primera trama de la primera señal de audío. Como alternativa, el valor de desajuste puede corresponder a una cantidad de tiempo que se retarda la primera trama de la primera señal de audío con respecto a la segunda trama de la segunda señal de audío.
Cuando la fuente de sonido está más cerca del primer micrófono que del segundo micrófono, pueden retardarse las tramas de la segunda señal de audío con relación a las tramas de la primera señal de audío. En este caso, la primera señal de audío puede denominarse como la "señal de audío de referencia" o el "canal de referencia" y la segunda señal de audio retardada puede denominarse como la "señal de audio objetivo" o el "canal objetivo". Como alternativa, cuando la fuente de sonido está más cerca del segundo micrófono que del primer micrófono, pueden retardarse las tramas de la primera señal de audio con relación a las tramas de la segunda señal de audio. En este caso, la segunda señal de audio puede denominarse como la señal de audio de referencia o el canal de referencia y la primera señal de audio retardada puede denominarse como la señal de audio objetivo o el canal objetivo.
Dependiendo de dónde estén ubicadas las fuentes de sonido (por ejemplo, hablantes) en una sala de conferencia o de telepresencia o de cómo cambie la fuente de sonido (por ejemplo, el hablante) con relación a los micrófonos, el canal de referencia y el canal objetivo pueden cambiar de una trama a otra; de manera similar, el valor de retardo temporal puede cambiar de una trama a otra. Sin embargo, en algunas implementaciones, el valor de desajuste puede ser siempre positivo para indicar una cantidad de retardo del canal "objetivo" con relación al canal de "referencia". Adicionalmente, el valor de desajuste puede corresponder a un valor de "desplazamiento no causal" mediante el cual el canal objetivo retardado "da marcha atrás" en el tiempo de manera que el canal objetivo está alineado (por ejemplo, alineado de manera máxima) con el canal de "referencia". El algoritmo de mezcla descendente para determinar el canal medio y el canal lateral puede realizarse en el canal de referencia y el canal objetivo desplazado no causal.
El codificador puede determinar el valor de desajuste basándose en el canal de audio de referencia y una pluralidad de valores de desajuste aplicados al canal de audio objetivo. Por ejemplo, puede recibirse una primera trama del canal de audio de referencia, X, en un primer tiempo (mi). Puede recibirse una primera trama particular del canal de audio objetivo, Y, en un segundo tiempo (m) que corresponde a un primer valor de desajuste, por ejemplo, desplzamientol = ni - m-i. Además, puede recibirse una segunda trama del canal de audio de referencia en un tercer tiempo (m2). Puede recibirse una segunda trama particular del canal de audio objetivo en un cuarto tiempo (n2) que corresponde a un segundo valor de desajuste, por ejemplo, desplzamiento2 = n2 - m2.
El dispositivo puede realizar un algoritmo de alineación de tramas o de almacenamiento en memoria intermedia para generar una trama (por ejemplo, muestras de 20 ms) a una primera tasa de muestreo (por ejemplo, tasa de muestreo de 32 kHz (es decir, 640 muestras por trama)). El codificador puede estimar, en respuesta a la determinación de que llega una primera trama de la primera señal de audio y una segunda trama de la segunda señal de audio al mismo tiempo en el dispositivo, un valor de desajuste (por ejemplo, desplazamientol) como igual a cero muestras. Un canal izquierdo (por ejemplo, que corresponde a la primera señal de audio) y un canal derecho (por ejemplo, que corresponde a la segunda señal de audio) pueden estar temporalmente alineados. En algunos casos, el canal izquierdo y el canal derecho, incluso cuando están alineados, pueden diferir en energía debido a diversas razones (por ejemplo, calibración de micrófono).
En algunos ejemplos, el canal izquierdo y el canal derecho pueden estar temporalmente no alineados debido a diversas razones (por ejemplo, una fuente de sonido, tal como un hablante, puede estar más cerca de los micrófonos que otro y los dos micrófonos pueden ser una distancia separada mayor que un umbral (por ejemplo, 1-20 centímetros)). Una ubicación de la fuente de sonido con relación a los micrófonos puede introducir diferentes retardos en el canal izquierdo y el canal derecho. Además, puede haber una diferencia de ganancia, una diferencia de energía o una diferencia de nivel entre el canal izquierdo y el canal derecho.
En algunos ejemplos, puede variar un tiempo de llegada de señales de audio en los micrófonos desde múltiples fuentes de sonido (por ejemplo, hablantes) cuando los múltiples hablantes están hablando de manera alternativa (por ejemplo, sin solapamiento). En un caso de este tipo, el codificador puede ajustar dinámicamente un valor de desajuste temporal basándose en el hablante para identificar el canal de referencia. En algunos otros ejemplos, los múltiples hablantes pueden estar hablando al mismo tiempo, lo que puede dar como resultado valores de desajuste temporal variables dependiendo de quién sea el hablante que hable más alto, que esté más cerca del micrófono, etc.
En algunos ejemplos, la primera señal de audio y la segunda señal de audio pueden sintetizarse o generarse artificialmente cuando las dos señales muestran potencialmente menos correlación (por ejemplo, ninguna). Debería entenderse que, los ejemplos descritos en el presente documento son ilustrativos y pueden ser instructivos al determinar una relación entre la primera señal de audio y la segunda señal de audio en situaciones similares o diferentes.
El codificador puede generar valores de comparación (por ejemplo, valores de diferencia o valores de correlación cruzada) basándose en una comparación de una primera trama de la primera señal de audio y una pluralidad de tramas de la segunda señal de audio. Cada trama de la pluralidad de tramas puede corresponder a un valor de desajuste particular. El codificador puede generar un primer valor de desajuste estimado basándose en los valores de comparación. Por ejemplo, el primer valor de desajuste estimado puede corresponder a un valor de comparación que indica una similitud temporal superior (o diferencia inferior) entre la primera trama de la primera señal de audio y una correspondiente primera trama de la segunda señal de audio.
El codificador puede determinar el valor de desajuste final perfeccionando, en múltiples etapas, una serie de valores de desajuste estimados. Por ejemplo, el codificador puede estimar en primer lugar un valor de desajuste de "tentativa" basándose en valores de comparación generados a partir de versiones preprocesadas y remuestreadas estéreo de la primera señal de audio y la segunda señal de audio. El codificador puede generar valores de comparación interpolados asociados con valores de desajuste próximos al valor de desajuste de "tentativa" estimado. El codificador puede determinar un segundo valor de desajuste "interpolado" estimado basándose en los valores de comparación interpolados. Por ejemplo, el segundo valor de desajuste "interpolado" estimado puede corresponder a un valor de comparación interpolado particular que indica una similitud temporal superior (o diferencia inferior) que los valores de comparación interpolados restantes y el primer valor de desajuste de "tentativa" estimado. Si el segundo valor de desajuste "interpolado" estimado de la trama actual (por ejemplo, la primera trama de la primera señal de audio) es diferente de un valor de desajuste final de una trama anterior (por ejemplo, una trama de la primera señal de audio que precede a la primera trama), entonces el valor de desajuste "interpolado" de la trama actual se "modifica" adicionalmente para mejorar la similitud temporal entre la primera señal de audio y la segunda señal de audio desplazada. En particular, un tercer valor de desajuste "modificado" estimado puede corresponder a una medida más precisa de la similitud temporal buscando alrededor del segundo valor de desajuste "interpolado" estimado de la trama actual y el valor de desajuste estimado final de la trama anterior. El tercer valor de desajuste "modificado" estimado está acondicionado adicionalmente para estimar el valor de desajuste final limitando cualquier cambio espurio en el valor de desajuste entre tramas y está controlado adicionalmente para no conmutar desde un valor de desajuste negativo a un valor de desajuste positivo (o viceversa) en dos tramas sucesivas (o consecutivas) como se describe en el presente documento.
En algunos ejemplos, el codificador puede abstenerse de conmutar entre un valor de desajuste positivo y un valor de desajuste negativo o viceversa en tramas consecutivas o en tramas adyacentes. Por ejemplo, el codificador puede establecer el valor de desajuste final a un valor particular (por ejemplo, 0) que indica ningún desplazamiento temporal basándose en el valor de desajuste "interpolado" o "modificado" estimado de la primera trama y un correspondiente valor de desajuste "interpolado" o "modificado" o final en una trama particular que precede a la primera trama. Para ilustrar, el codificador puede establecer el valor de desajuste final de la trama actual (por ejemplo, la primera trama) para indicar ningún desplazamiento temporal, es decir, desplazamientol = 0, en respuesta a la determinación de que uno del valor de desajuste de "tentativa" o "interpolado" o "modificado" estimado de la trama actual es positivo y el otro del valor de desajuste de "tentativa" o "interpolado" o "modificado" o "final" estimado de la trama anterior (por ejemplo, la trama que precede a la primera trama) es negativo. Como alternativa, el codificador puede establecer también el valor de desajuste final de la trama actual (por ejemplo, la primera trama) para indicar ningún desplazamiento temporal, es decir, shiftl = 0, en respuesta a la determinación de que uno del valor de desajuste de "tentativa" o "interpolado" o "modificado" estimado de la trama actual es negativo y el otro del valor de desajuste de "tentativa" o "interpolado" o "modificado" o "final" estimado de la trama anterior (por ejemplo, la trama que precede a la primera trama) es positivo.
El codificador puede seleccionar una trama de la primera señal de audio o la segunda señal de audio como una "referencia" u "objetivo" basándose en el valor de desajuste. Por ejemplo, en respuesta a la determinación de que el valor de desajuste final es positivo, el codificador puede generar un canal de referencia o indicador de señal que tiene un primer valor (por ejemplo, 0) que indica que la primera señal de audio es una señal de "referencia" y que la segunda señal de audio es la señal "objetivo". Como alternativa, en respuesta a la determinación de que el valor de desajuste final es negativo, el codificador puede generar el canal de referencia o indicador de señal que tiene un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio es la señal de "referencia" y que la primera señal de audio es la señal "objetivo".
El codificador puede estimar una ganancia relativa (por ejemplo, un parámetro de ganancia relativa) asociada con la señal de referencia y con la señal objetivo desplazada no causal. Por ejemplo, en respuesta a la determinación de que el valor de desajuste final es positivo, el codificador puede estimar un valor de ganancia para normalizar o ecualizar la energía o Ios niveles de potencia de la primera señal de audio con relación a la segunda señal de audio que está compensada por el valor de desajuste no causal (por ejemplo, un valor absoluto del valor de desajuste final). Como alternativa, en respuesta a la determinación de que el valor de desajuste final es negativo, el codificador puede estimar un valor de ganancia para normalizar o ecualizar Ios niveles de potencia de la primera señal de audio desplazada no causal con relación a la segunda señal de audio. En algunos ejemplos, el codificador puede estimar un valor de ganancia para normalizar o ecualizar la energía o Ios niveles de potencia de la señal de "referencia" con relación a la señal "objetivo" desplazada no causal. En otros ejemplos, el codificador puede estimar el valor de ganancia (por ejemplo, un valor de ganancia relativa) basándose en la señal de referencia con relación a la señal objetivo (por ejemplo, la señal objetivo no desplazada).
El codificador puede generar al menos una señal codificada (por ejemplo, una señal media, una señal lateral o ambas) basándose en la señal de referencia, la señal objetivo, el valor de desajuste no causal y el parámetro de ganancia relativa. La señal lateral puede corresponder a una diferencia entre primeras muestras de la primera trama de la primera señal de audio y muestras seleccionadas de una trama seleccionada de la segunda señal de audio. El codificador puede seleccionar la trama seleccionada basándose en el valor de desajuste final. Pueden usarse menos bits para codificar el canal lateral debido a la diferencia reducida entre las primeras muestras y las muestras seleccionadas en comparación con otras muestras de la segunda señal de audio que corresponden a una trama de la segunda señal de audio que se recibe por el dispositivo al mismo tiempo que la primera trama. Un transmisor del dispositivo puede transmitir la al menos una señal codificada, el valor de desajuste no causal, el parámetro de ganancia relativa, el canal de referencia o indicador de señal o una combinación de Ios mismos.
El codificador puede generar al menos una señal codificada (por ejemplo, una señal media, una señal lateral o ambas) basándose en la señal de referencia, la señal objetivo, el valor de desajuste no causal, el parámetro de ganancia relativa, parámetros de banda baja de una trama particular de la primera señal de audio, parámetros de banda alta de la trama particular o una combinación de los mismos. La trama particular puede preceder a la primera trama. Pueden usarse ciertos parámetros de banda baja, parámetros de banda alta o una combinación de los mismos, desde una o más tramas precedentes para codificar una señal media, una señal lateral o ambas, de la primera trama. Codificar la señal media, la señal lateral, o ambas, basándose en los parámetros de banda baja, los parámetros de banda alta o una combinación de los mismos, puede mejorar las estimaciones del valor de desajuste no causal y el parámetro de ganancia relativa inter-canal. Los parámetros de banda baja, los parámetros de banda alta o una combinación de los mismos, pueden incluir un parámetro de tono, un parámetro de voz , un parámetro de tipo de codificador, un parámetro de energía de banda baja, un parámetro de energía de banda alta, un parámetro de inclinación, un parámetro de ganancia de tono, un parámetro de ganancia de FCB, un parámetro de modo de codificación, un parámetro de actividad de v o z , un parámetro de estimación de ruido, un parámetro de relación de señal a ruido, un parámetro de los formantes, un parámetro de decisión de habla/música, el desplazamiento no causal, el parámetro de ganancia inter-canal o una combinación de los mismos. Un transmisor del dispositivo puede transmitir la al menos una señal codificada, el valor de desajuste no causal, el parámetro de ganancia relativa, el indicador de canal (o señal) de referencia o una combinación de los mismos.
Haciendo referencia a la Figura 1, se desvela un ejemplo ilustrativo particular de un sistema y se designa en general 100. El sistema 100 incluye un primer dispositivo 104 comunicativamente acoplado, mediante una red 120, a un segundo dispositivo 106. La red 120 puede incluir una o más redes inalámbricas, una o más redes alámbricas o una combinación de las mismas.
El primer dispositivo 104 puede incluir un codificador 114, un transmisor 110, una o más interfaces 112 de entrada o una combinación de los mismos. Una primera interfaz de entrada de las interfaces 112 de entrada puede acoplarse a un primer micrófono 146. Una segunda interfaz de entrada de la interfaz o interfaces 112 de entrada puede acoplarse a un segundo micrófono 148. El codificador 114 puede incluir un ecualizador 108 temporal y puede estar configurado para mezclar de manera descendente y codificar múltiples señales de audio, como se describe en el presente documento. El primer dispositivo 104 puede incluir también una memoria 153 configurada para almacenar datos 190 de análisis. El segundo dispositivo 106 puede incluir un decodificador 118. El decodificador 118 puede incluir un balanceador 124 temporal que está configurado para mezclar de manera ascendente y representar los múltiples canales. El segundo dispositivo 106 puede acoplarse a un primer altavoz 142, a un segundo altavoz 144 o a ambos.
Durante la operación, el primer dispositivo 104 puede recibir una primera señal 130 de audio (por ejemplo, un primer canal) mediante la primera interfaz de entrada desde el primer micrófono 146 y puede recibir una segunda señal 132 de audio (por ejemplo, un segundo canal) mediante la segunda interfaz de entrada desde el segundo micrófono 148. Como se usa en el presente documento, "señal" y "canal" pueden usarse de manera intercambiable. La primera señal 130 de audio puede corresponder a uno de un canal derecho o un canal izquierdo. La segunda señal 132 de audio puede corresponder al otro del canal derecho o el canal izquierdo. En el ejemplo de la Figura 1, la primera señal 130 de audio es un canal de referencia y la segunda señal 132 de audio es un canal objetivo. Por lo tanto, de acuerdo con las implementaciones descritas en el presente documento, la segunda señal l32 de audio puede ajustarse para alinearse temporalmente con la primera señal 130 de audio. Sin embargo, como se describe a continuación, en otras implementaciones, la primera señal 130 de audio puede ser el canal objetivo y la segunda señal 132 de audio puede ser el canal de referencia.
Una fuente 152 de sonido (por ejemplo, un usuario, un altavoz, ruido ambiente, un instrumento musical, etc.) puede estar más cerca del primer micrófono 146 que del segundo micrófono 148. Por consiguiente, una señal de audio desde la fuente 152 de sonido puede recibirse en la interfaz o interfaces 112 de entrada mediante el primer micrófono 146 en un tiempo anterior que mediante el segundo micrófono 148. Este retardo natural en la adquisición de señal de múltiples canales a través de los múltiples micrófonos puede introducir un desplazamiento temporal entre la primera señal 130 de audio y la segunda señal 132 de audio.
El ecualizador 108 temporal puede estar configurado para estimar una compensación temporal entre audio capturado en los micrófonos 146, 148. La compensación temporal puede estimarse basándose en un retardo entre una primera trama 131 (por ejemplo, una "trama de referencia") de la primera señal 130 de audio y una segunda trama 133 (por ejemplo, una "trama objetivo") de la segunda señal 132 de audio, donde la segunda trama 133 incluye contenido sustancialmente similar que la primera trama 131. Por ejemplo, el ecualizador 108 temporal puede determinar una correlación cruzada entre la primera trama 131 y la segunda trama 133. La correlación cruzada puede medir la similitud de las dos tramas como una función del retraso de una trama con relación a la otra. Basándose en la correlación cruzada, el ecualizador 108 temporal puede determinar el retardo (por ejemplo, retraso) entre la primera trama 131 y la segunda trama 133. El ecualizador 108 temporal puede estimar la compensación temporal entre la primera señal 130 de audio y la segunda señal 132 de audio basándose en el retardo y en datos de retardo históricos.
Los datos históricos pueden incluir retardos entre tramas capturadas desde el primer micrófono 146 y correspondientes tramas capturadas desde el segundo micrófono 148. Por ejemplo, el ecualizador 108 temporal puede determinar una correlación cruzada (por ejemplo, un retraso) entre tramas previas asociadas con la primera señal 130 de audio y correspondientes tramas asociadas con la segunda señal 132 de audio.
Cada retraso puede representarse por un "valor de comparación". Es decir, un valor de comparación puede indicar un desplazamiento de tiempo (k) entre una trama de la primera señal 130 de audio y una correspondiente trama de la segunda señal 132 de audio. De acuerdo con la divulgación en el presente documento, el valor de comparación puede indicar adicionalmente una cantidad de desajuste temporal, o una medida de la similitud o disimilitud entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo. En algunas implementaciones, puede usarse la función de correlación cruzada entre la trama de referencia y la trama objetivo para medir la similitud de las dos tramas como una función del retraso de una trama con relación a la otra. De acuerdo con una implementación, los valores de comparación (por ejemplo, valores de correlación cruzada) para tramas anteriores pueden almacenarse en la memoria 153. Un suavizador 190 del ecualizador 108 temporal puede "suavizar" (o promediar) valores de comparación a través de un conjunto de tramas a largo plazo y usar los valores de comparación suavizados a largo plazo para estimar una compensación temporal (por ejemplo, "desplazamiento") entre la primera señal 130 de audio y la segunda señal 132 de audio.
Para ilustrar, si CompValN(k) representa el valor de comparación en un desplazamiento de k para la trama N, la trama N puede tener valores de comparación de k=T_MIN (un desplazamiento mínimo) hasta k=T_MAX (un desplazamiento máximo). El suavizado puede realizarse de manera que se representa un valor de comparación suavizado a largo plazo CompValLTfj(k) por CompValLTfj(k) = f(CompValN(k), CompValN-i(k), CompValLTN_Jk),...). La función f en la ecuación anterior puede ser una función de todos (o un subconjunto) de los valores de comparación pasados en el desplazamiento (k). Una representación alternativa puede ser CompValLTfi (k) = g(CompValN(k),CompValN-i(k),CompValN-2 (k),...). Las funciones /o g pueden ser filtros de respuesta finita al impulso (FIR) o filtros de respuesta infinita al impulso (IIR), respectivamente. Por ejemplo, la función g puede ser un filtro de IIR de única derivación de manera que el valor de comparación suavizado a largo plazo CompValLTfj (k) se representa por CompValLTfj (k) = (1 -a) * CompValN(k) + (a) * CompValLTfi_t (k), dondea e (0,1,0). Por lo tanto, el valor de comparación suavizado a largo plazo CompValLTfj(k) puede estar basado en una mezcla ponderada del valor de comparación instantánea CompValN(k) en la trama N y los valores de comparación suavizados a largo plazo CompValLTfi_ (k) para una o más tramas anteriores. A medida que aumenta el valor de a, aumenta la cantidad de suavizado en el valor de comparación suavizado a largo plazo. En algunas implementaciones, los valores de comparación pueden ser valores de correlación cruzada normalizados. En otras implementaciones, los valores de comparación pueden ser valores de correlación cruzada no normalizados.
Las técnicas de suavizado anteriormente descritas pueden normalizar sustancialmente la estimación de desplazamiento entre tramas de voz, tramas no de voz y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de muestra y la omisión de artefactos en los límites de trama. Adicionalmente, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, que pueden mejorar la eficacia de codificación.
El ecualizador 108 temporal puede determinar un valor 116 de desajuste final (por ejemplo, un valor de desajuste no causal) indicativo del desplazamiento (por ejemplo, un desajuste no causal o un desplazamiento no causal) de la primera señal 130 de audio (por ejemplo, "referencia") con relación a la segunda señal 132 de audio (por ejemplo, "objetivo"). El valor 116 de desajuste final puede estar basado en el valor de comparación instantánea CompVaN(k) y la comparación suavizada a largo plazo CompValLTfi_ (k). Por ejemplo, la operación de suavizado anteriormente descrita puede realizarse en un valor de desajuste de tentativa, en un valor de desajuste interpolado, en un valor de desajuste modificado, o una combinación de los mismos, como se describe con respecto a la Figura 5. El primer valor 116 de desajuste puede estar basado en el valor de desajuste de tentativa, el valor de desajuste interpolado y el valor de desajuste modificado, como se describe con respecto a la Figura 5. Un primer valor (por ejemplo, un valor positivo) del valor 116 de desajuste final pueden indicar que la segunda señal 132 de audio está retardada con relación a la primera señal 130 de audio. Un segundo valor (por ejemplo, un valor negativo) del valor 116 de desajuste final puede indicar que la primera señal 130 de audio está retardada con relación a la segunda señal 132 de audio. Un tercer valor (por ejemplo, 0) del valor 116 de desajuste final puede indicar ningún retardo entre la primera señal 130 de audio y la segunda señal 132 de audio.
En algunas implementaciones, el tercer valor (por ejemplo, 0) del valor 116 de desajuste final puede indicar que el retardo entre la primera señal 130 de audio y la segunda señal 132 de audio tiene signo cambiado. Por ejemplo, una primera trama particular de la primera señal 130 de audio puede preceder a la primera trama 131. La primera trama particular y una segunda trama particular de la segunda señal l32 de audio pueden corresponder al mismo sonido emitido por la fuente 152 de sonido. El retardo entre la primera señal 130 de audio y la segunda señal 132 de audio puede cambiarse de tener la primera trama particular retardada con respecto a la segunda trama particular a tener la segunda trama 133 retardada con respecto a la primera trama 131. Como alternativa, el retardo entre la primera señal 130 de audio y la segunda señal 132 de audio puede cambiar de tener la segunda trama particular retardada con respecto a la primera trama particular a tener la primera trama 131 retardada con respecto a la segunda trama 133. El ecualizador 108 temporal puede establecer el valor 116 de desajuste final para indicar el tercer valor (por ejemplo, 0) en respuesta a la determinación de que el retardo entre la primera señal 130 de audio y la segunda señal 132 de audio tiene signo cambiado.
El ecualizador 108 temporal puede generar un indicador 164 de señal de referencia basándose en el valor 116 de desajuste final. Por ejemplo, el ecualizador 108 temporal puede generar, en respuesta a la determinación de que el valor 116 de desajuste final indica un primer valor (por ejemplo, un valor positivo), el indicador 164 de señal de referencia para que tenga un primer valor (por ejemplo, 0) que indica que la primera señal 130 de audio es una señal de "referencia". El ecualizador 108 temporal puede determinar que la segunda señal 132 de audio corresponde a una señal "objetivo" en respuesta a la determinación de que el valor 116 de desajuste final indica el primer valor (por ejemplo, un valor positivo). Como alternativa, el ecualizador 108 temporal puede generar, en respuesta a la determinación de que el valor 116 de desajuste final indica un segundo valor (por ejemplo, un valor negativo), el indicador 164 de señal de referencia para que tenga un segundo valor (por ejemplo, 1) que indica que la segunda señal 132 de audio es la señal de "referencia". El ecualizador 108 temporal puede determinar que la primera señal 130 de audio corresponde a la señal "objetivo" en respuesta a la determinación de que el valor 116 de desajuste final indica el segundo valor (por ejemplo, un valor negativo). El ecualizador 108 temporal puede generar, en respuesta a la determinación de que el valor l l 6 de desajuste final indica un tercer valor (por ejemplo, 0), el indicador 164 de señal de referencia para que tenga un primer valor (por ejemplo, 0) que indica que la primera señal 130 de audio es una señal de "referencia". El ecualizador 108 temporal puede determinar que la segunda señal 132 de audio corresponde a una señal "objetivo" en respuesta a la determinación de que el valor 116 de desajuste final indica el tercer valor (por ejemplo, 0). Como alternativa, el ecualizador 108 temporal puede generar, en respuesta a la determinación de que el valor 116 de desajuste final indica el tercer valor (por ejemplo, 0), el indicador 164 de señal de referencia para que tenga un segundo valor (por ejemplo, 1) que indica que la segunda señal 132 de audio es una señal de "referencia". El ecualizador 108 temporal puede determinar que la primera señal 130 de audio corresponde a una señal "objetivo" en respuesta a la determinación de que el valor 116 de desajuste final indica el tercer valor (por ejemplo, 0). En algunas implementaciones, el ecualizador l08 temporal puede dejar, en respuesta a la determinación de que el valor 116 de desajuste final indica un tercer valor (por ejemplo, 0), el indicador 164 de señal de referencia sin cambiar. Por ejemplo, el indicador 164 de señal de referencia puede ser el mismo que un indicador de señal de referencia que corresponde a la primera trama particular de la primera señal 130 de audio. El ecualizador 108 temporal puede generar un valor 162 de desajuste no causal que indica un valor absoluto del valor 116 de desajuste final.
El ecualizador 108 temporal puede generar un parámetro 160 de ganancia (por ejemplo, un parámetro de ganancia de códec) basándose en muestras de la señal "objetivo" y basándose en muestras de la señal de "referencia". Por ejemplo, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio basándose en el valor 162 de desajuste no causal. Como alternativa, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio independientes del valor 162 de desajuste no causal. El ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la primera señal 130 de audio es la señal de referencia, el parámetro 160 de ganancia de las muestras seleccionadas basándose en las primeras muestras de la primera trama 131 de la primera señal 130 de audio. Como alternativa, el ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la segunda señal 132 de audio es la señal de referencia, el parámetro 160 de ganancia de las primeras muestras basándose en las muestras seleccionadas. Como un ejemplo, el parámetro 160 de ganancia puede estar basado en una de las siguientes ecuaciones:
_E^i:^1Ref(n)Targ(n+N1)
gD Z«r0N1r a r ^ (n+Wl) ’ Ecuación la
_ En^o1 \Ref(n)\
y E%:r\Targ(n+N i)' Ecuación Ib
_ ZÍLoRef(n)Targ(n) Ecuación 1
g ZLo Targ2(n) ’ c
_ SLolfie/MI Ecuación Id
g Zñ=o\TarS(n)\’
_ Eñ:o1Ref(n)Targ(n)
gD E*=0Ref2(n) Ecuación le
_ En^o1 \Rarg(n)\ Ecuación 1f
gD ZÜU lKe/(n)| ’
donde gD corresponde al parámetro 160 de ganancia relativa para procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", N i corresponde al valor 162 de desajuste no causal de la primera trama 131, y Targ(n + N i) corresponde a muestras de la señal "objetivo". El parámetro 160 de ganancia ^ d) puede modificarse, por ejemplo, basándose en una de las Ecuaciones la - 1f, para incorporar una lógica de suavizado/histéresis a largo plazo para evitar saltos grandes en la ganancia entre tramas. Cuando la señal objetivo incluye la primera señal 130 de audio, las primeras muestras pueden incluir muestras de la señal objetivo y las muestras seleccionadas pueden incluir muestras de la señal de referencia. Cuando la señal objetivo incluye la segunda señal 132 de audio, las primeras muestras pueden Incluir muestras de la señal de referencia y las muestras seleccionadas pueden Incluir muestras de la señal objetivo.
En algunas implementaciones, el ecualizador 108 temporal puede generar el parámetro 160 de ganancia basándose en el tratamiento de la primera señal 130 de audio como una señal de referencia y en el tratamiento de la segunda señal 132 de audio como una señal objetivo, independientemente del indicador 164 de señal de referencia. Por ejemplo, el ecualizador 108 temporal puede generar el parámetro 160 de ganancia basándose en una de las Ecuaciones 1a-1f donde Ref(n) corresponde a muestras (por ejemplo, las primeras muestras) de la primera señal 130 de audio y Targ(n+Ni) corresponde a muestras (por ejemplo, las muestras seleccionadas) de la segunda señal 132 de audio. En implementaciones alternativas, el ecualizador 108 temporal puede generar el parámetro 160 de ganancia basándose en tratar la segunda señal 132 de audio como una señal de referencia y tratar la primera señal 130 de audio como una señal objetivo, independientemente del indicador 164 de señal de referencia. Por ejemplo, el ecualizador 108 temporal puede generar el parámetro 160 de ganancia basándose en una de las Ecuaciones 1a-1f donde Ref(n) corresponde a muestras (por ejemplo, las muestras seleccionadas) de la segunda señal 132 de audio y Targ(n+Ni) corresponde a muestras (por ejemplo, las primeras muestras) de la primera señal 130 de audio.
El ecualizador 108 temporal puede generar una o más señales 102 codificadas (por ejemplo, un canal medio, un canal lateral o ambos) basándose en las primeras muestras, las muestras seleccionadas y el parámetro 160 de ganancia relativa para procesamiento de mezcla descendente. Por ejemplo, el ecualizador 108 temporal puede generar la señal media basándose en una de las siguientes ecuaciones:
M = Ref(n) gDTarg(n N i), Ecuación 2a
M = Ref(n) Targ(n N i), Ecuación 2b
donde M corresponde al canal medio, gD corresponde al parámetro 160 de ganancia relativa para procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", Ni corresponde al valor 162 de desajuste no causal de la primera trama 131 y Targ(n + Ni ) corresponde a muestras de la señal "objetivo".
El ecualizador 108 temporal puede generar el canal lateral basándose en una de las siguientes ecuaciones:
S = Ref(n) - gDTarg(n N i), Ecuación 3a
S = gDRef(n) - Targ(n N i), Ecuación 3b
donde S corresponde al canal lateral, gD corresponde al parámetro 160 de ganancia relativa para procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", Ni corresponde al valor 162 de desajuste no causal de la primera trama 131, y Targ(n + Ni ) corresponde a muestras de la señal "objetivo".
El transmisor 110 puede transmitir las señales 102 codificadas (por ejemplo, el canal medio, el canal lateral o ambos), el indicador 164 de señal de referencia, el valor 162 de desajuste no causal, el parámetro 160 de ganancia o una combinación de los mismos, mediante la red 120, al segundo dispositivo 106. En algunas implementaciones, el transmisor 110 puede almacenar las señales 102 codificadas (por ejemplo, el canal medio, el canal lateral o ambos), el indicador 164 de señal de referencia, el valor 162 de desajuste no causal, el parámetro 160 de ganancia o una combinación de los mismos, en un dispositivo de la red 120 o un dispositivo local para procesamiento adicional o decodificación posterior.
El decodificador 118 puede decodificar las señales 102 codificadas. El balanceador 124 temporal puede realizar mezcla ascendente para generar una primera señal 126 de salida (por ejemplo, que corresponde a la primera señal 130 de audio), una segunda señal 128 de salida (por ejemplo, que corresponde a la segunda señal 132 de audio) o ambas. El segundo dispositivo 106 puede emitir la primera señal 126 de salida mediante el primer altavoz 142. El segundo dispositivo 106 puede emitir la segunda señal 128 de salida mediante el segundo altavoz 144.
El sistema 100 puede posibilitar por lo tanto que el ecualizador 108 temporal codifique el canal lateral usando menos bits que la señal media. Las primeras muestras de la primera trama 131 de la primera señal 130 de audio y las muestras seleccionadas de la segunda señal 132 de audio pueden corresponder al mismo sonido emitido por la fuente 152 de sonido y, por lo tanto, una diferencia entre las primeras muestras y las muestras seleccionadas puede ser menor que entre las primeras muestras y otras muestras de la segunda señal 132 de audio. El canal lateral puede corresponder a la diferencia entre las primeras muestras y las muestras seleccionadas.
Haciendo referencia a la Figura 2, se desvela una implementación ilustrativa particular de un sistema y se designa en general 200. El sistema 200 incluye un primer dispositivo 204 acoplado, mediante la red 120, al segundo dispositivo 106. El primer dispositivo 204 puede corresponder al primer dispositivo 104 de la Figura i. El sistema 200 difiere del sistema 100 de la Figura i en que el primer dispositivo 204 está acoplado a más de dos micrófonos. Por ejemplo, el primer dispositivo 204 puede acoplarse al primer micrófono 146, un micrófono 248 de orden N y uno o más micrófonos adicionales (por ejemplo, el segundo micrófono 148 de la Figura i). El segundo dispositivo Í06 puede acoplarse al primer altavoz 142, un altavoz 244 de orden Y, uno o más altavoces adicionales (por ejemplo, el segundo altavoz 144) o una combinación de los mismos. El primer dispositivo 204 puede incluir un codificador 2 l4. El codificador 214 puede corresponder al codificador 114 de la Figura 1. El codificador 214 puede incluir uno o más ecualizadores 208 temporales. Por ejemplo, el ecualizador o ecualizadores 208 temporales pueden incluir el ecualizador 108 temporal de la Figura 1.
Durante la operación, el primer dispositivo 204 puede recibir más de dos señales de audio. Por ejemplo, el primer dispositivo 204 puede recibir la primera señal 130 de audio mediante el primer micrófono 146, una señal 232 de audio de orden N mediante el micrófono 248 de orden N, y una o más señales de audio adicionales (por ejemplo, la segunda señal 132 de audio) mediante los micrófonos adicionales (por ejemplo, el segundo micrófono 148).
El ecualizador o ecualizadores 208 temporales pueden generar uno o más indicadores 264 de señal de referencia, valores 216 de desajuste finales, valores 262 de desajuste no causales, parámetros 260 de ganancia, señales 202 codificadas o una combinación de los mismos. Por ejemplo, el ecualizador o ecualizadores 208 temporales pueden determinar que la primera señal 130 de audio es una señal de referencia y que cada una de las señales 232 de audio de orden N y las señales de audio adicionales son una señal objetivo. El ecualizador o ecualizadores 208 temporales pueden generar el indicador 164 de señal de referencia, los valores 216 de desajuste final, los valores 262 de desajuste no causal, los parámetros 260 de ganancia y las señales 202 codificadas que corresponden a la primera señal 130 de audio y cada una de las señales 232 de audio de orden N y las señales de audio adicionales.
Los indicadores 264 de señal de referencia pueden incluir el indicador 164 de señal de referencia. Los valores 216 de desajuste final pueden incluir el valor 116 de desajuste final indicativo de un desplazamiento de la segunda señal 132 de audio con relación a la primera señal 130 de audio, un segundo valor de desajuste final indicativo de un desplazamiento de la señal 232 de audio de orden N con relación a la primera señal 130 de audio o ambos. Los valores 262 de desajuste no causal pueden incluir el valor 162 de desajuste no causal que corresponde a un valor absoluto del valor 1 l6 de desajuste final, un segundo valor de desajuste no causal que corresponde a un valor absoluto del segundo valor de desajuste final o ambos. Los parámetros 260 de ganancia pueden incluir el parámetro 160 de ganancia de las muestras seleccionadas de la segunda señal 132 de audio, un segundo parámetro de ganancia de muestras seleccionadas de la señal 232 de audio de orden N o ambos. Las señales 202 codificadas pueden incluir al menos una de las señales 102 codificadas. Por ejemplo, las señales 202 codificadas pueden incluir el canal lateral que corresponde a primeras muestras de la primera señal 130 de audio y muestras seleccionadas de la segunda señal 132 de audio, un segundo canal lateral que corresponde a las primeras muestras y muestras seleccionadas de la señal 232 de audio de orden N o ambas. Las señales 202 codificadas pueden incluir un canal medio que corresponde a las primeras muestras, las muestras seleccionadas de la segunda señal 132 de audio y las muestras seleccionadas de la señal 232 de audio de orden N.
En algunas implementaciones, el ecualizador o ecualizadores 208 temporales pueden determinar múltiples señales de referencia y correspondientes señales objetivo, como se describe con referencia a la Figura 11. Por ejemplo, los indicadores 264 de señal de referencia pueden incluir un indicador de señal de referencia que corresponde a cada par de señal de referencia y señal objetivo. Para ilustrar, los indicadores 264 de señal de referencia pueden incluir el indicador 164 de señal de referencia que corresponde a la primera señal 130 de audio y a la segunda señal 132 de audio. Los valores 216 de desajuste final pueden incluir un valor de desajuste final que corresponde a cada par de señal de referencia y señal objetivo. Por ejemplo, los valores 216 de desajuste final pueden incluir el valor 116 de desajuste final que corresponde a la primera señal 130 de audio y a la segunda señal 132 de audio. Los valores 262 de desajuste no causal pueden incluir un valor de desajuste no causal que corresponde a cada par de señal de referencia y señal objetivo. Por ejemplo, los valores 262 de desajuste no causal pueden incluir el valor 162 de desajuste no causal que corresponde a la primera señal 130 de audio y a la segunda señal 132 de audio. Los parámetros 260 de ganancia pueden incluir un parámetro de ganancia que corresponde a cada par de señal de referencia y señal objetivo. Por ejemplo, los parámetros 260 de ganancia pueden incluir el parámetro 160 de ganancia que corresponde a la primera señal 130 de audio y a la segunda señal 132 de audio. Las señales 202 codificadas pueden incluir un canal medio y un canal lateral que corresponden a cada par de señal de referencia y señal objetivo. Por ejemplo, las señales 202 codificadas pueden incluir las señales 102 codificadas que corresponden a la primera señal 130 de audio y a la segunda señal 132 de audio.
El transmisor 110 puede transmitir los indicadores 264 de señal de referencia, los valores 262 de desajuste no causal, los parámetros 260 de ganancia, las señales 202 codificadas o una combinación de los mismos, mediante la red 120, al segundo dispositivo 106. El decodificador 118 puede generar una o más señales de salida basándose en los indicadores 264 de señal de referencia, los valores 262 de desajuste no causales, los parámetros 260 de ganancia, las señales 202 codificadas o una combinación de los mismos. Por ejemplo, el decodificador 118 puede emitir una primera señal 226 de salida mediante el primer altavoz 142, una señal 228 de salida de orden Y mediante el altavoz 244 de orden Y, una o más señales de salida adicionales (por ejemplo, la segunda señal 128 de salida) mediante uno o más altavoces adicionales (por ejemplo, el segundo altavoz 144) o una combinación de los mismos.
El sistema 200 puede posibilitar por lo tanto que el ecualizador o ecualizadores 208 temporales codifiquen más de dos señales de audio. Por ejemplo, las señales 202 codificadas pueden incluir múltiples canales laterales que se codifican usando menos bits que Ios correspondientes canales medios generando Ios canales laterales basándose en Ios valores 262 de desajuste no causal.
Haciendo referencia a la Figura 3, se muestran ejemplos ilustrativos de muestras y se designan en general 300. Puede codificarse al menos un subconjunto de las muestras 300 por el primer dispositivo 104, como se describe en el presente documento. Las muestras 300 pueden incluir las primeras muestras 320 que corresponden a la primera señal 130 de audio, segundas muestras 350 que corresponden a la segunda señal 132 de audio o ambas. Las primeras muestras 320 pueden incluir una muestra 322, una muestra 324, una muestra 326, una muestra 328, una muestra 330, una muestra 332, una muestra 334, una muestra 336, una o más muestras adicionales o una combinación de las mismas. Las segundas muestras 350 pueden incluir una muestra 352, una muestra 354, una muestra 356, una muestra 358, una muestra 360, una muestra 362, una muestra 364, una muestra 366, una o más muestras adicionales o una combinación de las mismas.
La primera señal 130 de audio puede corresponder a una pluralidad de tramas (por ejemplo, una trama 302, una trama 304, una trama 306 o una combinación de las mismas). Cada una de la pluralidad de tramas puede corresponder a un subconjunto de muestras (por ejemplo, que corresponde a 20 ms, tal como 640 muestras en 32 kHz o 960 muestras en 48 kHz) de las primeras muestras 320. Por ejemplo, la trama 302 puede corresponder a la muestra 322, la muestra 324, una o más muestras adicionales o una combinación de las mismas. La trama 304 puede corresponder a la muestra 326, la muestra 328, la muestra 330, la muestra 332, una o más muestras adicionales o una combinación de las mismas. La trama 306 puede corresponder a la muestra 334, la muestra 336, una o más muestras adicionales o una combinación de las mismas.
La muestra 322 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 352. La muestra 324 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 354. La muestra 326 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 356. La muestra 328 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 358. La muestra 330 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 360. La muestra 332 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 362. La muestra 334 puede recibirse en la interfaz o interfaces 1 l2 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 364. La muestra 336 puede recibirse en la interfaz o interfaces 112 de entrada de la Figura 1 en aproximadamente el mismo tiempo que la muestra 366.
Un primer valor (por ejemplo, un valor positivo) del valor 116 de desajuste final pueden indicar que la segunda señal 132 de audio está retardada con relación a la primera señal 130 de audio. Por ejemplo, un primer valor (por ejemplo, X ms o +Y muestras, donde X e Y incluyen números reales positivos) del valor 1 l6 de desajuste final puede indicar que la trama 304 (por ejemplo, las muestras 326-332) corresponde a las muestras 358-364. Las muestras 326-332 y las muestras 358-364 pueden corresponder al mismo sonido emitido desde la fuente 152 de sonido. Las muestras 358-364 pueden corresponder a una trama 344 de la segunda señal 132 de audio. La ilustración de las muestras con entramado cruzado en una o más de las Figuras 1-14 puede indicar que las muestras corresponden al mismo sonido. Por ejemplo, las muestras 326-332 y las muestras 358-364 se ilustran con entramado cruzado en la Figura 3 para indicar que las muestras 326-332 (por ejemplo, la trama 304) y las muestras 358-364 (por ejemplo, la trama 344) corresponden al mismo sonido emitido desde la fuente 152 de sonido.
Debería entenderse que una compensación temporal de Y muestras, como se muestra en la Figura 3, es ilustrativa. Por ejemplo, la compensación temporal puede corresponder a un número de muestras, Y, que es mayor o igual que 0. En un primer caso donde la compensación temporal Y = 0 muestras, las muestras 326-332 (por ejemplo, que corresponden a la trama 304) y las muestras 356-362 (por ejemplo, que corresponden a la trama 344) pueden mostrar alta similitud con ninguna compensación de trama. En un segundo caso donde la compensación temporal Y = 2 muestras, la trama 304 y la trama 344 pueden compensarse por 2 muestras. En este caso, la primera señal 130 de audio puede recibirse antes de la segunda señal 132 de audio en la interfaz o interfaces 112 de entrada en Y = 2 muestras o X = (2 /F s ) ms, donde Fs corresponde a la tasa de muestras en kHz. En algunos casos, la compensación temporal, Y, puede incluir un valor no entero, por ejemplo, Y = 1,6 muestras que corresponde a X = 0,05 ms en 32 kHz.
El ecualizador 108 temporal de la Figura 1 puede generar las señales 102 codificadas codificando las muestras 326­ 332 y las muestras 358-364, como se describe con referencia a la Figura 1. El ecualizador 108 temporal puede determinar que la primera señal 130 de audio corresponde a una señal de referencia y que la segunda señal 132 de audio corresponde a una señal objetivo.
Haciendo referencia a la Figura 4, se muestran ejemplos ilustrativos de muestras y se designan en general como 400. Los ejemplos 400 difieren de Ios ejemplos 300 en que la primera señal 130 de audio está retardada con relación a la segunda señal 132 de audio.
Un segundo valor (por ejemplo, un valor negativo) del valor 116 de desajuste final puede Indicar que la primera señal 130 de audio está retardada con relación a la segunda señal 132 de audio. Por ejemplo, el segundo valor (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos) del valor 116 de desajuste final puede indicar que la trama 304 (por ejemplo, las muestras 326-332) corresponden a las muestras 354-360. Las muestras 354-360 pueden corresponder a la trama 344 de la segunda señal 132 de audio. Las muestras 354-360 (por ejemplo, la trama 344) y las muestras 326-332 (por ejemplo, la trama 304) pueden corresponder al mismo sonido emitido desde la fuente 152 de sonido.
Debería entenderse que una compensación temporal de -Y muestras, como se muestra en la Figura 4, es ilustrativa. Por ejemplo, la compensación temporal puede corresponder a un número de muestras, -Y, que es menor o igual que 0. En un primer caso donde la compensación temporal Y = 0 muestras, las muestras 326-332 (por ejemplo, que corresponden a la trama 304) y las muestras 356-362 (por ejemplo, que corresponden a la trama 344) pueden mostrar alta similitud con ninguna compensación de trama. En un segundo caso donde la compensación temporal Y = -6 muestras, la trama 304 y la trama 344 pueden compensarse por 6 muestras. En este caso, la primera señal 130 de audio puede recibirse después de la segunda señal 132 de audio en la interfaz o interfaces 112 de entrada en Y = -6 muestras o X = (-6/Fs ) ms, donde Fs corresponde a la tasa de muestras en kHz. En algunos casos, la compensación temporal, Y, puede incluir un valor no entero, por ejemplo, Y = -3,2 muestras que corresponde a X = -0,1 ms en 32 kHz.
El ecualizador 108 temporal de la Figura 1 puede generar las señales 102 codificadas codificando las muestras 354­ 360 y las muestras 326-332, como se describe con referencia a la Figura 1. El ecualizador 108 temporal puede determinar que la segunda señal 132 de audio corresponde a una señal de referencia y que la primera señal 130 de audio corresponde a una señal objetivo. En particular, el ecualizador 108 temporal puede estimar el valor 162 de desajuste no causal a partir del valor 116 de desajuste final, como se describe con referencia a la Figura 5. El ecualizador 108 temporal puede identificar (por ejemplo, designar) una de la primera señal 130 de audio o de la segunda señal 132 de audio como una señal de referencia y la otra de la primera señal 130 de audio o de la segunda señal 132 de audio como una señal objetivo basándose en un signo del valor 116 de desajuste final.
Haciendo referencia a la Figura 5, se muestra un ejemplo ilustrativo de un ecualizador temporal y una memoria y se designa en general 500. El sistema 500 puede estar integrado en el sistema 100 de la Figura 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la Figura 1, o ambos, pueden incluir uno o más componentes del sistema 500. El ecualizador 108 temporal puede incluir un remuestreador 504, un comparador 506 de señal, un interpolador 510, un perfeccionador 511 de desplazamiento, un analizador 512 de cambio de desplazamiento, un generador 513 de desplazamiento absoluto, un designador 508 de señal de referencia, un generador 514 de parámetro de ganancia, un generador 516 de señal o una combinación de los mismos.
Durante la operación, el remuestreador 504 puede generar una o más señales remuestreadas. Por ejemplo, el remuestreador 504 puede generar una primera señal 530 remuestreada remuestreando (por ejemplo, muestreando de manera descendente o muestreando de manera ascendente) la primera señal 130 de audio basándose en un factor (D) de remuestreo (por ejemplo, muestreo descendente o muestreo ascendente) (por ejemplo, > 1). El remuestreador 504 puede generar una segunda señal 532 remuestreada remuestreando la segunda señal 132 de audio basándose en el factor (D) de remuestreo. El remuestreador 504 puede proporcionar la primera señal 530 remuestreada, la segunda señal 532 remuestreada, o ambas, al comparador 506 de señal. La primera señal 130 de audio puede muestrearse a una primera tasa de muestra (Fs ) para generar las muestras 320 de la Figura 3. La primera tasa de muestra (Fs ) puede corresponder a una primera tasa (por ejemplo, 16 kilohercios (kHz)) asociada con ancho de banda de banda ancha (WB), una segunda tasa (por ejemplo, 32 kHz) asociada con súper ancho de banda de banda ancha (SWB), una tercera tasa (por ejemplo, 48 kHz) asociada con ancho de banda de banda completa (FB) u otra tasa. La segunda señal 132 de audio puede muestrearse a la primera tasa muestra (Fs ) para generar las segundas muestras 350 de la Figura 3.
El comparador 506 de señal puede generar valores 534 de comparación (por ejemplo, valores de diferencia, valores de similitud, valores de coherencia o valores de correlación cruzada), un valor 536 de desajuste de tentativa, o ambos, como se describe adicionalmente con referencia a la Figura 6. Por ejemplo, el comparador 506 de señal puede generar los valores 534 de comparación basándose en la primera señal 530 remuestreada y en una pluralidad de valores de desajuste aplicados a la segunda señal 532 remuestreada, como se describe adicionalmente con referencia a la Figura 6. El comparador 506 de señal puede determinar el valor 536 de desajuste de tentativa basándose en los valores 534 de comparación, como se describe adicionalmente con referencia a la Figura 6. De acuerdo con una implementación, el comparador 506 de señal puede recuperar valores de comparación para tramas anteriores de las señales 530, 532 remuestreadas y puede modificar los valores 534 de comparación basándose en una operación de suavizado a largo plazo usando los valores de comparación para tramas anteriores. Por ejemplo, los valores 534 de comparación pueden incluir el valor de comparación suavizado a largo plazo CompValLTN (k) para una trama actual (N) y puede representarse por CompValLTfj(k) = (1 - a) * CompValN(k) + (a) * CompValLTfi_ (k), donde a e (0,1,0). Por lo tanto, el valor de comparación suavizado a largo plazo CompValLTfj(k) puede estar basado en una mezcla ponderada del valor de comparación instantánea CompVaN(k) en la trama N y los valores de comparación suavizados a largo plazo CompValLTN_ (k) para una o más tramas anteriores. A medida que aumenta el valor de a, aumenta la cantidad de suavizado en el valor de comparación suavizado a largo plazo. Los parámetros de suavizado (por ejemplo, el valor de a) pueden controlarse/adaptarse para limitar el suavizado de valores de comparación durante porciones de silencio (o durante ruido de fondo que puede provocar una desviación en la estimación de desplazamiento). Por ejemplo, los valores de comparación pueden suavizarse basándose en un factor de suavizado más alto (por ejemplo, a = 0,995); de lo contrario el suavizado puede estar basado en a = 0,9. El control de los parámetros de suavizado (por ejemplo, a) puede estar basado en si la energía de fondo o la energía a largo plazo se encuentra por debajo de un umbral, basándose en un tipo de codificador o basándose en estadísticas de valor de comparación.
En una implementación particular, el valor de los parámetros de suavizado (por ejemplo, a) puede estar basado en el nivel de señal a corto plazo (Est) y el nivel de señal a largo plazo (Elt) de los canales. Como un ejemplo, el nivel de señal a corto plazo puede calcularse para la trama (N) que se está procesando (Est(N ))coitio la suma de la suma de los valores absolutos de las muestras de referencia submuestreadas y la suma de los valores absolutos de las muestras objetivo submuestreadas. El nivel de señal a largo plazo puede ser una versión suavizada de los niveles de señal a corto plazo. Por ejemplo, Elt(N) = 0,6 * Elt(N - 1) 0,4 * Est(N). Además, el valor de los parámetros de suavizado (por ejemplo, a) puede controlarse de acuerdo con un pseudocódigo descrito como sigue.
Establecer a a un valor inicial (por ejemplo, 0,95).
si Est > 4 * Elt, modificar el valor de a (por ejemplo, gí=0,5)
si Est > 2 * Elt y Est < 4 * Elt, modificar el valor de a (por ejemplo, ci=0,7)
En una implementación particular, el valor de los parámetros de suavizado (por ejemplo, a) puede controlarse basándose en la correlación de los valores de comparación suavizados a corto plazo y a largo plazo. Por ejemplo, cuando los valores de comparación de la trama actual son muy similares a los valores de comparación suavizados a largo plazo, es una indicación de un hablante estacionario y esto podría usarse para controlar los parámetros de suavizado para aumentar adicionalmente el suavizado (por ejemplo, aumentar el valor de a). Por otra parte, cuando los valores de comparación como una función de los diversos valores de desplazamiento no se asemejan a los valores de comparación suavizados a largo plazo, los parámetros de suavizado pueden ajustarse (por ejemplo, adaptarse) para reducir el suavizado (por ejemplo, reducir el valor de a).
En una implementación particular, el comparador 506 de señal puede estimar valores de comparación suavizados a corto plazo (CompValSTfj(k)) suavizando los valores de comparación de las tramas en las cercanías de la trama actual que se está procesando. Ej: CompValSTN(k) = (ComPFaí" (fc)+ComPFâ v~1(fc)+ComPFaí" -2 (fc)). En otras implementaciones, los valores de comparación suavizados a corto plazo pueden ser los mismos que los valores de comparación generados en la trama que se está procesando(CompVa/w(k)).
El comparador 506 de señal puede estimar un valor de correlación cruzada de los valores de comparación suavizados a corto plazo y a largo plazo. En algunas implementaciones, el valor de correlación cruzada(CrossCorr_CompVa/w) de los valores de comparación suavizados a corto plazo y largo plazo puede ser un único valor estimado para cada trama (N) que se calcula como CrossCorr_CompVa/N = (£ k CompValSTfj(k) * CompValLTfi_i (k))/Fac. Donde 'Fac' es un factor de normalización elegido de manera que CrossCorr_CompVa/N está restringido entre 0 y 1. Como un ejemplo no limitante, Fac puede calcularse como:
Fac = J ( I kCompValSTN(k) * CompValSTN(k)) * (I kCompValLTNi(k) * CompValLTNi(k)).
El comparador 506 de señal puede estimar otro valor de correlación cruzada de los valores de comparación para una única trama ("valores de comparación instantánea") y valores de comparación suavizados a corto plazo. En algunas implementaciones, el valor de correlación cruzada (CrossCorr_CompVa/N) de los valores de comparación para la trama N ("valores de comparación instantánea para la trama N") y los valores de comparación suavizados a corto plazo (por ejemplo, CompVa/sTN(k)) puede ser un único valor estimado para cada trama (N) que se calcula como CrossCorr_CompVa/N = (£k CompVa/sTN(k) * CompVa/N(k))/Fac. Donde 'Fac' es un factor de normalización elegido de manera que CrossCorr_CompVa/N está restringido entre 0 y 1. Como un ejemplo no limitante, Fac puede calcularse como: Fac = j ( l kCompValSTN(k) * CompValSTti(k)) * (l kCompValN(k) * CompValN(k)).
La primera señal 530 remuestreada puede incluir menos muestras o más muestras que la primera señal 130 de audio. La segunda señal 532 remuestreada puede incluir menos muestras o más muestras que la segunda señal 132 de audio. Determinar los valores 534 de comparación basándose en menos muestras de las señales remuestreadas (por ejemplo, la primera señal 530 remuestreada y la segunda señal 532 remuestreada) puede usar menos recursos (por ejemplo, tiempo, número de operaciones o ambos) que en muestras de las señales originales (por ejemplo, la primera señal 130 de audio y la segunda señal 132 de audio). Determinar los valores 534 de comparación basándose en más muestras de las señales remuestreadas (por ejemplo, la primera señal 530 remuestreada y la segunda señal 532 remuestreada) puede aumentar la precisión que en muestras de las señales originales (por ejemplo, la primera señal 130 de audio y la segunda señal 132 de audio). El comparador 506 de señal puede proporcionar los valores 534 de comparación, el valor 536 de desajuste de tentativa, o ambos, al interpolador 5 l0.
El interpolador 510 puede ampliar el valor 536 de desajuste de tentativa. Por ejemplo, el interpolador 510 puede generar un valor 538 de desajuste interpolado. Por ejemplo, el interpolador 510 puede generar valores de comparación interpolados que corresponden a unos valores de desajuste que están próximos al valor 536 de desajuste de tentativa interpolando los valores 534 de comparación. El interpolador 510 puede determinar el valor 538 de desajuste interpolado basándose en los valores de comparación interpolados y los valores 534 de comparación. Los valores 534 de comparación pueden estar basados en una granularidad más basta. Por ejemplo, los valores 534 de comparación pueden estar basados en un primer subconjunto de un conjunto de valores de desajuste de modo que una diferencia entre un primer valor de desajuste del primer subconjunto y cada segundo valor de desajuste del primer subconjunto es mayor o igual que un umbral (por ejemplo, >1). El umbral puede estar basado en el factor de remuestreo (D).
Los valores de comparación interpolados pueden estar basados en una granularidad más precisa de valores de desajuste que están próximos al valor 536 de desajuste de tentativa remuestreado. Por ejemplo, los valores de comparación interpolados pueden estar basados en un segundo subconjunto del conjunto de valores de desajuste de modo que una diferencia entre un valor de desajuste más alto del segundo subconjunto y el valor 536 de desajuste de tentativa remuestreado es menor que el umbral (por ejemplo, >1), y una diferencia entre un valor de desajuste más bajo del segundo subconjunto y el valor 536 de desajuste de tentativa remuestreado es menor que el umbral. Determinar los valores 534 de comparación basándose en la granularidad más basta (por ejemplo, el primer subconjunto) del conjunto de valores de desajuste puede usar menos recursos (por ejemplo, tiempo, operaciones o ambos) que determinar los valores 534 de comparación basándose en una granularidad más precisa (por ejemplo, toda) del conjunto de valores de desajuste. Determinar los valores de comparación interpolados que corresponden al segundo subconjunto de valores de desajuste puede ampliar el valor 536 de desajuste de tentativa basándose en una granularidad más precisa de un conjunto menor de valores de desajuste que están próximos al valor 536 de desajuste de tentativa sin determinar valores de comparación que corresponden a cada valor de desajuste del conjunto de valores de desajuste. Por lo tanto, determinar el valor 536 de desajuste de tentativa basándose en el primer subconjunto de valores de desajuste y determinar el valor 538 de desajuste interpolado basándose en los valores de comparación interpolados puede equilibrar el uso y perfeccionamiento de recursos del valor de desajuste estimado. El interpolador 510 puede proporcionar el valor 538 de desajuste interpolado al perfeccionador 511 de desplazamiento.
De acuerdo con una implementación, el interpolador 510 puede recuperar valores de desajuste/comparación interpolados para tramas anteriores y puede modificar el valor 538 de desajuste/comparación interpolado basándose en una operación de suavizado a largo plazo usando los valores de desajuste/comparación interpolados para tramas anteriores. Por ejemplo, el valor 538 de desajuste/comparación interpolado puede incluir un valor de desajuste/comparación interpolado a largo plazo lnterValLTfi(k) para una trama actual (N) y puede representarse por lnterValLTti(k) = (1 - a) * InterValN(k) + (a) * lnterValLTti_1(k), donde a e (0, 1,0). Por lo tanto, el valor de desajuste/comparación interpolado a largo plazo lnterValLTfi(k) puede estar basado en una mezcla ponderada del valor de desajuste/comparación interpolado instantáneo InterValN(k) en la trama N y los valores de desajuste/comparación interpolados a largo plazo lnterValLTfi_1(k) para una o más tramas anteriores. A medida que aumenta el valor de a, aumenta la cantidad de suavizado en el valor de comparación suavizado a largo plazo.
El perfeccionador 511 de desplazamiento puede generar un valor 540 de desajuste modificado perfeccionando el valor 538 de desajuste interpolado. Por ejemplo, el perfeccionador 511 de desplazamiento puede determinar si el valor 538 de desajuste interpolado indica que un cambio en un desplazamiento entre la primera señal 130 de audio y la segunda señal l32 de audio es mayor que un umbral de cambio de desplazamiento. El cambio en el desplazamiento puede indicarse por una diferencia entre el valor 538 de desajuste interpolado y un primer valor de desajuste asociado con la trama 302 de la Figura 3. El perfeccionador 5l1 de desplazamiento puede establecer, en respuesta a la determinación de que la diferencia es menor o igual que el umbral, el valor 540 de desajuste modificado al valor 538 de desajuste interpolado. Como alternativa, el perfeccionador 511 de desplazamiento puede determinar, en respuesta a la determinación de que la diferencia es mayor que el umbral, una pluralidad de valores de desajuste que corresponden a una diferencia que es menor o igual que el umbral de cambio de desplazamiento. El perfeccionador 511 de desplazamiento puede determinar valores de comparación basándose en la primera señal 130 de audio y la pluralidad de valores de desajuste aplicados a la segunda señal 132 de audio. El perfeccionador 511 de desplazamiento puede determinar el valor 540 de desajuste modificado basándose en los valores de comparación. Por ejemplo, el perfeccionador 511 de desplazamiento puede seleccionar un valor de desajuste de la pluralidad de valores de desajuste basándose en los valores de comparación y el valor de desajuste interpolado. El perfeccionador 511 de desplazamiento puede establecer el valor 540 de desajuste modificado para indicar el valor de desajuste seleccionado. Una diferencia distinta de cero entre el primer valor de desajuste que corresponde a la trama 302 y el valor 538 de desajuste interpolado puede indicar que algunas muestras de la segunda señal 132 de audio corresponden a ambas tramas (por ejemplo, la trama 302 y la trama 304). Por ejemplo, algunas muestras de la segunda señal 132 de audio pueden duplicarse durante la codificación. Como alternativa, la diferencia distinta de cero puede indicar que algunas muestras de la segunda señal 132 de audio corresponden a ninguna de la trama 302 ni de la trama 304. Por ejemplo, algunas muestras de la segunda señal 132 de audio pueden perderse durante la codificación. Establecer el valor 540 de desajuste modificado a uno de la pluralidad de valores de desajuste puede evitar un gran cambio en los desplazamientos entre tramas consecutivas (o adyacentes), reduciendo de esta manera una cantidad de pérdida de muestra o duplicación de muestra durante la codificación. El perfeccionador 511 de desplazamiento puede proporcionar el valor 540 de desajuste modificado al analizador 512 de cambio de desplazamiento. En algunas implementaciones, el perfecclonador 511 de desplazamiento puede ajustar el valor 538 de desajuste interpolado. El perfeccionador 511 de desplazamiento puede determinar el valor 540 de desajuste modificado basándose en el valor 538 de desajuste interpolado ajustado.
De acuerdo con una implementación, el perfeccionador de desplazamiento puede recuperar valores de desajuste modificados para tramas anteriores y puede modificar el valor 540 de desajuste modificado basándose en una operación de suavizado a largo plazo usando los valores de desajuste modificados para tramas anteriores. Por ejemplo, el valor 540 de desajuste modificado puede incluir un valor de desajuste modificado a largo plazo AmendValLTN(k) para una trama actual (N) y puede representarse por AmendValLTfj(k) = (1 - a) * Amend-ValN(k) + (oí) * AmendValLTfj_1(k), donde a e (0,1,0). Por lo tanto, el valor de desajuste modificado a largo plazo AmendValLTfj(k) puede estar basado en una mezcla ponderada del valor de desajuste modificado instantáneo AmendValN(k) en la trama N y los valores de desajuste modificados a largo plazo AmendValLTfj_1(k) para una o más tramas anteriores. A medida que aumenta el valor de a, aumenta la cantidad de suavizado en el valor de comparación suavizado a largo plazo.
El analizador 512 de cambio de desplazamiento puede determinar si el valor 540 de desajuste modificado indica un cambio o inversión en la temporización entre la primera señal 130 de audio y la segunda señal 132 de audio, como se describe con referencia a la Figura 1. En particular, una inversión o cambio en la temporización puede indicar que, para la trama 302, la primera señal 130 de audio se recibe en la interfaz o interfaces 112 de entrada antes de la segunda señal 132 de audio, y, para una trama posterior (por ejemplo, la trama 304 o la trama 306), la segunda señal 132 de audio se recibe en la interfaz o interfaces de entrada antes de la primera señal 130 de audio. Como alternativa, una inversión o un cambio en la temporización puede indicar que, para la trama 302, la segunda señal 132 de audio se recibe en la interfaz o interfaces l l 2 de entrada antes de la primera señal 130 de audio, y, para una trama posterior (por ejemplo, la trama 304 o la trama 306), la primera señal 130 de audio se recibe en la interfaz o interfaces de entrada antes de la segunda señal 132 de audio. En otras palabras, un cambio o inversión en la temporización puede ser indicativo de que un valor de desajuste final que corresponde a la trama 302 tiene un primer signo que es distinto de un segundo signo del valor 540 de desajuste modificado que corresponde a la trama 304 (por ejemplo, una transición de positivo a negativo o viceversa). El analizador 512 de cambio de desplazamiento puede determinar si ha cambiado el signo del retardo entre la primera señal 130 de audio y la segunda señal 132 de audio basándose en el valor 540 de desajuste modificado y el primer valor de desajuste asociado con la trama 302. El analizador 512 de cambio de desplazamiento puede establecer, en respuesta a la determinación de que el retardo entre la primera señal 130 de audio y la segunda señal 132 de audio tiene el signo cambiado, el valor 116 de desajuste final a un valor (por ejemplo, 0) que indica sin desplazamiento de tiempo. Como alternativa, el analizador 512 de cambio de desplazamiento puede establecer el valor 116 de desajuste final al valor 540 de desajuste modificado en respuesta a la determinación de que el retardo entre la primera señal 130 de audio y la segunda señal 132 de audio no tiene el signo cambiado. El analizador 512 de cambio de desplazamiento puede generar un valor de desajuste estimado perfeccionando el valor 540 de desajuste modificado. El analizador 512 de cambio de desplazamiento puede establecer el valor 116 de desajuste final al valor de desajuste estimado. Establecer el valor 1 l6 de desajuste final para indicar ningún desplazamiento de tiempo puede reducir la distorsión en un decodificador absteniéndose de desplazar en el tiempo la primera señal 130 de audio y la segunda señal 132 de audio en direcciones opuestas para tramas consecutivas (o adyacentes) de la primera señal 130 de audio. El analizador 512 de cambio de desplazamiento puede proporcionar el valor 116 de desajuste final al designador 508 de señal de referencia, al generador 513 de desplazamiento absoluto o a ambos.
El generador 513 de desplazamiento absoluto puede generar el valor 162 de desajuste no causal aplicando una función absoluta al valor 116 de desajuste final. El generador 513 de desplazamiento absoluto puede proporcionar el valor de desajuste 162 al generador 514 de parámetro de ganancia.
El designador 508 de señal de referencia puede generar el indicador 164 de señal de referencia. Por ejemplo, el indicador 164 de señal de referencia puede tener un primer valor que indica que la primera señal 130 de audio es una señal de referencia o un segundo valor que indica que la segunda señal 132 de audio es la señal de referencia. El designador 508 de señal de referencia puede proporcionar el indicador 164 de señal de referencia al generador 514 de parámetro de ganancia.
El designador 508 de señal de referencia puede determinar adicionalmente si el valor 116 de desajuste final es igual a 0. Por ejemplo, el designador 508 de señal de referencia puede, en respuesta a la determinación de que el valor 116 de desajuste final tiene el valor particular (por ejemplo, 0) que indica ningún desplazamiento de tiempo, dejar el indicador 164 de señal de referencia sin cambiar. Para ilustrar, el indicador 164 de señal de referencia puede indicar que la misma señal de audio (por ejemplo, la primera señal 130 de audio o la segunda señal 132 de audio) es una señal de referencia asociada con la trama 304 como con la trama 302.
El designador 508 de señal de referencia puede determinar adicionalmente que el valor 116 de desajuste final es distinto de cero, en 1202, determinando si el valor 116 de desajuste final es mayor que 0, en 1206. Por ejemplo, el designador 508 de señal de referencia puede indicar, en respuesta a la determinación de que el valor 116 de desajuste final tiene un valor particular (por ejemplo, un valor distinto de cero) un desplazamiento de tiempo, determinar si el valor 116 de desajuste final tiene un primer valor (por ejemplo, un valor positivo) que Indica que la segunda señal 132 de audio está retardada con relación a la primera señal 130 de audio o un segundo valor (por ejemplo, un valor negativo) que indica que la primera señal 130 de audio está retardada con relación a la segunda señal 132 de audio.
El generador 514 de parámetro de ganancia puede seleccionar muestras de la señal objetivo (por ejemplo, la segunda señal 132 de audio) basándose en el valor 162 de desajuste no causal. Para ilustrar, el generador 5 l4 de parámetro de ganancia puede seleccionar las muestras 358-364 en respuesta a la determinación de que el valor 162 de desajuste no causal tiene un primer valor (por ejemplo, X ms o +Y muestras, donde X e Y incluyen números reales positivos). El generador 514 de parámetro de ganancia puede seleccionar las muestras 354-360 en respuesta a la determinación de que el valor 162 de desajuste no causal tiene un segundo valor (por ejemplo, -X ms o -Y muestras). El generador 514 de parámetro de ganancia puede seleccionar las muestras 356-362 en respuesta a la determinación de que el valor 162 de desajuste no causal tiene un valor (por ejemplo, 0) que indica ningún desplazamiento de tiempo.
El generador 514 de parámetro de ganancia puede determinar si la primera señal 130 de audio es la señal de referencia o la segunda señal 132 de audio es la señal de referencia basándose en el indicador 164 de señal de referencia. El generador 514 de parámetro de ganancia puede generar el parámetro 160 de ganancia basándose en las muestras 326-332 de la trama 304 y las muestras seleccionadas (por ejemplo, las muestras 354-360, las muestras 356-362 o las muestras 358-364) de la segunda señal 132 de audio, como se describe con referencia a la Figura 1. Por ejemplo, el generador 514 de parámetro de ganancia puede generar el parámetro 160 de ganancia basándose en una o más de la Ecuación la - Ecuación 1f, donde gD corresponde al parámetro 160 de ganancia, Ref(n) corresponde a muestras de la señal de referencia y Targ(n+Ni ) corresponde a muestras de la señal objetivo. Para ilustrar, Ref(n) puede corresponder a las muestras 326-332 de la trama 304 y Targ(n+tm) puede corresponder a las muestras 358-364 de la trama 344 cuando el valor 162 de desajuste no causal tiene un primer valor (por ejemplo, X ms o +Y muestras, donde X e Y incluyen números reales positivos). En algunas implementaciones, Ref(n) puede corresponder a muestras de la primera señal 130 de audio y Targ(n+Ni ) puede corresponder a muestras de la segunda señal 132 de audio, como se describe con referencia a la Figura i. En implementaciones alternativas, Ref(n) puede corresponder a muestras de la segunda señal 132 de audio y Targ(n+Ni ) puede corresponder a muestras de la primera señal 130 de audio, como se describe con referencia a la Figura i.
El generador 514 de parámetro de ganancia puede proporcionar el parámetro 160 de ganancia, el indicador 164 de señal de referencia, el valor 162 de desajuste no causal, o una combinación de los mismos, al generador 516 de señal. El generador 516 de señal puede generar las señales 102 codificadas, como se describe con referencia a la Figura i. Por ejemplo, las señales l02 codificadas pueden incluir una primera trama 564 de señal codificada (por ejemplo, una trama de canal medio), una segunda trama 566 de señal codificada (por ejemplo, una trama de canal lateral) o ambas. El generador 516 de señal puede generar la primera trama 564 de señal codificada basándose en la Ecuación 2a o en la Ecuación 2b, donde M corresponde a la primera trama 564 de señal codificada, gD corresponde al parámetro 160 de ganancia, Ref(n) corresponde a muestras de la señal de referencia y Targ(n+Ni ) corresponde a muestras de la señal objetivo. El generador 5 l6 de señal puede generar la segunda trama 566 de señal codificada basándose en la Ecuación 3a o en la Ecuación 3b, donde S corresponde a la segunda trama 566 de señal codificada, gD corresponde al parámetro 160 de ganancia, Ref(n) corresponde a muestras de la señal de referencia y Targ(n+Ni ) corresponde a muestras de la señal objetivo.
El ecualizador 108 temporal puede almacenar la primera señal 530 remuestreada, la segunda señal 532 remuestreada, los valores 534 de comparación, el valor 536 de desajuste de tentativa, el valor 538 de desajuste interpolado, el valor 540 de desajuste modificado, el valor 162 de desajuste no causal, el indicador 164 de señal de referencia, el valor 116 de desajuste final, el parámetro 160 de ganancia, la primera trama 564 de señal codificada, la segunda trama 566 de señal codificada o una combinación de los mismos, en la memoria 153. Por ejemplo, los datos 190 de análisis pueden incluir la primera señal 530 remuestreada, la segunda señal 532 remuestreada, los valores 534 de comparación, el valor 536 de desajuste de tentativa, el valor 538 de desajuste interpolado, el valor 540 de desajuste modificado, el valor 162 de desajuste no causal, el indicador 164 de señal de referencia, el valor 116 de desajuste final, el parámetro 160 de ganancia, la primera trama 564 de señal codificada, la segunda trama 566 de señal codificada o una combinación de los mismos.
Las técnicas de suavizado anteriormente descritas pueden normalizar sustancialmente la estimación de desplazamiento entre tramas de v o z , tramas no de voz y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de muestra y la omisión de artefactos en los límites de trama. Adicionalmente, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, que pueden mejorar la eficacia de codificación.
Haciendo referencia a la Figura 6, se muestra un ejemplo ilustrativo de un sistema que incluye un comparador de señal y se designa en general 600. El sistema 600 puede corresponder al sistema 100 de la Figura i. Por ejemplo, el sistema 100, el primer dispositivo 104 de la Figura i, o ambos, pueden incluir uno o más componentes del sistema 700.
La memoria 153 puede almacenar una pluralidad de valores 660 de desajuste. Los valores 660 de desajuste pueden incluir un primer valor 664 de desajuste (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos), un segundo valor 666 de desajuste (por ejemplo, X ms o +Y muestras, donde X e Y incluyen números reales positivos) o ambos. Los valores 660 de desajuste pueden variar de un valor de desajuste inferior (por ejemplo, un valor de desajuste mínimo, T_MIN) a un valor de desajuste superior (por ejemplo, un valor de desajuste máximo, T_MAX). Los valores 660 de desajuste pueden indicar un desplazamiento temporal esperado (por ejemplo, un desplazamiento temporal esperado máximo) entre la primera señal 130 de audio y la segunda señal 132 de audio.
Durante la operación, el comparador 506 de señal puede determinar los valores 534 de comparación basándose en las primeras muestras 620 y los valores 660 de desajuste aplicados a las segundas muestras 650. Por ejemplo, las muestras 626-632 pueden corresponder a un primer tiempo (t). Para ilustrar, la interfaz o interfaces 112 de entrada de la Figura 1 pueden recibir las muestras 626-632 que corresponden a la trama 304 en aproximadamente el primer tiempo (t). El primer valor 664 de desajuste (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos) puede corresponder a un segundo tiempo (i-i).
Las muestras 654-660 pueden corresponder al segundo tiempo (t-1). Por ejemplo, la interfaz o interfaces 112 de entrada pueden recibir las muestras 654-660 en aproximadamente el segundo tiempo (t-1). El comparador 506 de señal puede determinar un primer valor 614 de comparación (por ejemplo, un valor de diferencia o un valor de correlación cruzada) que corresponde al primer valor 664 de desajuste basándose en las muestras 626-632 y las muestras 654-660. Por ejemplo, el primer valor 614 de comparación puede corresponder a un valor absoluto de la correlación cruzada de las muestras 626-632 y las muestras 654-660. Como otro ejemplo, el primer valor 614 de comparación puede indicar una diferencia entre las muestras 626-632 y las muestras 654-660.
El segundo valor 666 de desajuste (por ejemplo, X ms o +Y muestras, donde X e Y incluyen números reales positivos) puede corresponder a un tercer tiempo (t+1). Las muestras 658-664 pueden corresponder al tercer tiempo(t+1). Por ejemplo, la interfaz o interfaces 112 de entrada pueden recibir las muestras 658-664 en aproximadamente el tercer tiempo (t+1). El comparador 506 de señal puede determinar un segundo valor 616 de comparación (por ejemplo, un valor de diferencia o un valor de correlación cruzada) que corresponde al segundo valor 666 de desajuste basándose en las muestras 626-632 y las muestras 658-664. Por ejemplo, el segundo valor 616 de comparación puede corresponder a un valor absoluto de la correlación cruzada de las muestras 626-632 y las muestras 658-664. Como otro ejemplo, el segundo valor 616 de comparación puede indicar una diferencia entre las muestras 626-632 y las muestras 658-664. El comparador 506 de señal puede almacenar los valores 534 de comparación en la memoria 153. Por ejemplo, los datos 190 de análisis pueden incluir los valores 534 de comparación.
El comparador 506 de señal puede identificar un valor 636 de comparación seleccionado de los valores 534 de comparación que tienen un valor superior (o inferior) distinto de otros valores de los valores 534 de comparación. Por ejemplo, el comparador 506 de señal puede seleccionar el segundo valor 616 de comparación como el valor 636 de comparación seleccionado en respuesta a la determinación de que el segundo valor 616 de comparación es mayor o igual que el primer valor 614 de comparación. En algunas implementaciones, los valores 534 de comparación pueden corresponder a valores de correlación cruzada. El comparador 506 de señal puede determinar, en respuesta a la determinación de que el segundo valor 616 de comparación es mayor que el primer valor 614 de comparación, que las muestras 626-632 tienen una correlación superior con las muestras 658-664 que con las muestras 654-660. El comparador 506 de señal puede seleccionar el segundo valor 616 de comparación que indica la correlación superior como el valor 636 de comparación seleccionado. En otras implementaciones, los valores 534 de comparación pueden corresponder a valores de diferencia. El comparador 506 de señal puede determinar, en respuesta a la determinación de que el segundo valor 616 de comparación es menor que el primer valor 614 de comparación, que las muestras 626-632 tienen una similitud mayor con (por ejemplo, una diferencia menor a) las muestras 658-664 que las muestras 654-660. El comparador 506 de señal puede seleccionar el segundo valor 616 de comparación que indica una diferencia menor como el valor 636 de comparación seleccionado.
El valor 636 de comparación seleccionado puede indicar una correlación superior (o una diferencia inferior) que los otros valores de los valores 534 de comparación. El comparador 506 de señal puede identificar el valor 536 de desajuste de tentativa de los valores 660 de desajuste que corresponde al valor 636 de comparación seleccionado. Por ejemplo, el comparador 506 de señal puede identificar el segundo valor 666 de desajuste como el valor 536 de desajuste de tentativa en respuesta a la determinación de que el segundo valor 666 de desajuste corresponde al valor 636 de comparación seleccionado (por ejemplo, el segundo valor 616 de comparación).
Haciendo referencia a la Figura 7, se muestran ejemplos ilustrativos del ajuste de un subconjunto de valores de comparación suavizados a largo plazo y se designan en general como 700. El ejemplo 700 puede realizarse por el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura i , el ecualizador o ecualizadores 208 temporales, el codificador 214, el primer dispositivo 204 de la Figura 2, el comparador 506 de señal de la Figura 5 o una combinación de los mismos.
El canal de referencia ("Ref(n)") 701 puede corresponder a una primera señal 130 de audio y puede incluir una pluralidad de tramas de referencia que incluyen una trama N 710 del canal 701 de referencia. El canal objetivo ("Targ(n)") 701 puede corresponder a una segunda señal 132 de audio y puede incluir una pluralidad de tramas objetivo que incluyen una trama N 720 del canal 702 objetivo. El codificador 114 o el ecualizador 108 temporal pueden estimar valores 730 de comparación para la trama N 710 del canal 701 de referencia y para la trama N 720 del canal 702 objetivo. Cada valor de comparación puede ser indicativo de una cantidad de desajuste temporal, o una medida de la similitud o disimilitud entre la trama de referencia N 710 del canal 701 de referencia y una correspondiente trama objetivo N 720 de un canal 702 objetivo. En algunas implementaciones, pueden usarse los valores de correlación cruzada entre la trama de referencia y la trama objetivo para medir la similitud de las dos tramas como una función del retraso de una trama con relación a la otra. Por ejemplo, los valores de comparación para la trama N (CompValN(k)) 735 pueden ser los valores de correlación cruzada entre la trama N 710 del canal de referencia y la trama N 720 del canal objetivo.
El codificador 114 o el ecualizador 108 temporal pueden suavizar los valores de comparación para generar valores de comparación suavizados a corto plazo. Los valores de comparación suavizados a corto plazo (por ejemplo, CompValsTN(k) para la trama N) pueden estimarse como una versión suavizada de los valores de comparación de las tramas en las cercanías de la trama N710 720. Para ilustrar, los valores de comparación a corto plazo pueden generarse como una combinación lineal de una pluralidad de valores de comparación de la trama actual (trama N) y tramas anteriores (por ejemplo, CompValSTN(k) = (ComPValN(k)+ComPValN-i(k)+compvaiN_2(k))). En implementaciones alternativas, puede aplicarse una ponderación no uniforme a la pluralidad de valores de comparación para la trama N y tramas anteriores.
El codificador 114 o el ecualizador 108 temporal pueden suavizar los valores de comparación para generar primeros valores 755 de comparación suavizados a largo plazo para la trama N basándose en un parámetro de suavizado. El suavizado puede realizarse de manera que los primeros valores de comparación suavizados a largo plazo CompValLTfj (k) (por ejemplo, los primeros valores 755 de comparación suavizados a largo plazo) se representan por CompValLTfj(k) = f(CompValN(k), CompValN-i(k), CompValLTfj_2(k),...). La función f en la ecuación anterior puede ser una función de todos (o un subconjunto) de los valores de comparación pasados en el desplazamiento (k). Una representación alternativa puede ser CompValLTfj(k) = g(CompValN(k), CompValN-i(k), CompValLTN_2(k), ...). Las funciones f o g pueden ser filtros de respuesta finita al impulso (FIR) o filtros de respuesta infinita al impulso (IIR), respectivamente. Por ejemplo, la función g puede ser un filtro de IIR de única derivación de manera que los primeros valores 755 de comparación suavizados a largo plazo se representan por CompValLTfj(k) = (1 - a) * CompVaN(k) + (a) * CompValLTfj_1(k), donde a e (0,1,0). Por lo tanto, los valores de comparación suavizados a largo plazo CompValLTfj (k) pueden estar basados en una mezcla ponderada de los valores de comparación instantáneos CompVaN(k) para la trama N 710 720 y los valores de comparación suavizados a largo plazo CompValLTfj_1 (k) para una o más tramas anteriores.
El codificador 114 o el ecualizador 108 temporal pueden calcular un valor de correlación cruzada de los valores de comparación y los valores de comparación suavizados a corto plazo. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden calcular un valor de correlación cruzada (CrossCorr_CompValN) 765 de los valores de comparación CompVaN(k) 735 para la trama N 710 720 y los valores de comparación suavizados a corto plazo CompValSTt/(k) 745 para la trama N 710 720. En algunas implementaciones, el valor de correlación cruzada (CrossCorr_CompValN) 765 puede ser un único valor estimado que se calcula como CrossCorr_CompValN = (£kCompValSTN(k) * CompValN(k))/Fac. Donde 'Fac' es un factor de normalización elegido de manera que CrossCorr_CompValN 765 está restringido entre 0 y 1. Como un ejemplo no limitante, Fac puede calcularse como: Fac = j ( l kCompValSTN(k) * CompValSTti(k)) * (l kCompValN(k) * CompValN(k)),
Como alternativa, el codificador 114 o el ecualizador 108 temporal pueden calcular un valor de correlación cruzada de los valores de comparación suavizados a corto plazo y a largo plazo. En algunas implementaciones, el valor de correlación cruzada (CrossCorr_CompValN) 765 de los valores de comparación suavizados a corto plazo CompValSTfi (k) 745 para la trama N 710 720 y los valores de comparación suavizados a largo plazo CompValLTN (k) 755 para la trama N 710 720 pueden ser un único valor que se calcula como CrossCorr_CompValN = (£ k CompValSTN (k) * CompValLTN_ i (k))/Fac. Donde 'Fac' es un factor de normalización elegido de manera que CrossCorr_CompValN 765 está restringido entre 0 y 1. Como un ejemplo no limitante, Fac puede calcularse como: Fac = j ( l kCompValSTN(k) * CompValSTti(k)) * (l kCompValN_1(k) * CompValN_1(k)),
El codificador 114 o el ecualizador 108 temporal pueden comparar el valor de correlación cruzada de los valores de comparación (CrossCorr_CompValN) 765 con un umbral, y pueden ajustar una totalidad o alguna parte de los primeros valores 755 de comparación suavizados a largo plazo. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden aumentar (o potenciar o desviar) ciertos valores de un subconjunto de los primeros valores 755 de comparación suavizados a largo plazo en respuesta a la determinación de que el valor de correlación cruzada de los valores de comparación (CrossCorr_CompValN) 765 supera el umbral. Por ejemplo, cuando el valor de correlación cruzada de los valores de comparación (CrossCorr_CompValN) es mayor o igual que un umbral (por ejemplo, 0,8), puede indicar que el valor de correlación cruzada entre valores de comparación es bastante intenso o alto, lo que indica variaciones pequeñas o ninguna de los valores de desplazamiento temporal entre tramas adyacentes. Por lo tanto, el valor de desplazamiento temporal estimado de la trama actual (por ejemplo, la trama N) no puede estar demasiado lejos de los valores de desplazamiento temporal de la trama anterior (por ejemplo, la trama N-1) o Ios valores de desplazamiento temporal de cualquiera de las otras tramas anteriores. Los valores de desplazamiento temporal pueden ser uno de un valor 536 de desajuste de tentativa, un valor 538 de desajuste interpolado, un valor 540 de desajuste modificado, un valor 116 de desajuste final o un valor 162 de desajuste no causal. Por lo tanto, el codificador 114 o el ecualizador 108 temporal pueden aumentar (o potenciar o desviar) ciertos valores de un subconjunto de los primeros valores 755 de comparación suavizados a largo plazo, por ejemplo, en un factor de 1,2 (un 20 % de potencia o aumento) para generar unos segundos valores de comparación suavizados a largo plazo. Esta potenciación o desviación puede implementarse multiplicando un factor de cambio de escala o añadiendo una compensación a los valores dentro del subconjunto de los primeros valores 755 de comparación suavizados a largo plazo.
En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden potenciar o desviar el subconjunto de los primeros valores de comparación suavizados a largo plazo 755 de manera que el subconjunto puede incluir un índice que corresponde al valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama N-1). Adicionalmente, o como alternativa, el subconjunto puede incluir adicionalmente un índice alrededor de las cercanías del valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama n -1). Por ejemplo, las cercanías pueden significar dentro de -delta (por ejemplo, delta se encuentra en el intervalo de 1-5 muestras en una realización preferida) y delta del valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama n -1).
Haciendo referencia a la Figura 8, se muestran ejemplos ilustrativos del ajuste de un subconjunto de valores de comparación suavizados a largo plazo y se designan en general como 800. El ejemplo 800 puede realizarse por el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura 1, el ecualizador o ecualizadores 208 temporales, el codificador 214, el primer dispositivo 204 de la Figura 2, el comparador 506 de señal de la Figura 5 o una combinación de los mismos.
El eje x de los gráficos 830840850860 representa un valor de desplazamiento negativo a valor de desplazamiento positivo y el eje y de los gráficos 830 840 850 860 representa valores de comparación (por ejemplo, valores de correlación cruzada). En alguna implementación, el eje y de los gráficos 830 840 850860 en el ejemplo 800 puede ilustrar los valores de comparación suavizados a largo plazo CompValLTfj(k) 755 para cualquier trama particular (por ejemplo, la trama N) pero, como alternativa, puede ser los valores de comparación suavizados a corto plazo CompValSTfj(k) 745 para cualquier trama particular (por ejemplo, la trama N).
El ejemplo 800 ilustra casos que muestran que puede ajustarse un subconjunto de los valores de comparación suavizados a largo plazo (por ejemplo, los primeros valores de comparación suavizados a largo plazo CompValLTfj (k) 755). Ajustar un subconjunto de los valores de comparación suavizados a largo plazo en el ejemplo 800 puede incluir aumentar ciertos valores del subconjunto de los valores de comparación suavizados a largo plazo (por ejemplo, los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) en un cierto factor. Aumentar ciertos valores en el presente documento puede denominarse como "enfatizar" (o , de manera intercambiable, "potenciar" o "desviar") ciertos valores. Ajustar el subconjunto de los valores de comparación suavizados a largo plazo en el ejemplo 800 puede incluir también reducir ciertos valores del subconjunto de los valores de comparación suavizados a largo plazo (por ejemplo, los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) en un cierto factor. Reducir ciertos valores en el presente documento puede denominarse como "des-enfatizar" ciertos valores.
El caso N.° 1 en la Figura 8 ilustra un ejemplo de énfasis 830 lateral de desplazamiento negativo donde pueden aumentarse (enfatizarse o potenciarse o desviarse) ciertos valores de un subconjunto de los valores de comparación suavizados a largo plazo en un cierto factor. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden aumentar los valores 834 que corresponden a la mitad izquierda del índice x (un lado 810 de desplazamiento negativo) del gráfico (por ejemplo, los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) en un cierto factor (por ejemplo, 1,2, que indica un 20 % de aumento o de potenciación en los valores) lo que genera los valores 838 aumentados. El caso N.° 2 ilustra otro ejemplo de énfasis lateral de desplazamiento positivo 840 donde pueden aumentarse (enfatizarse o potenciarse o desviarse) ciertos valores de un subconjunto de los valores de comparación suavizados a largo plazo en un cierto factor. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden aumentar los valores 844 que corresponden a la mitad derecha del índice x (un lado 820 de desplazamiento positivo) del gráfico (por ejemplo, los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) en un cierto factor (por ejemplo, 1,2, que indica un 20 % de aumento o de potenciación en los valores) lo que genera valores 848 aumentados.
El caso N.° 3 en la Figura 8 ilustra un ejemplo de des-énfasis 850 lateral de desplazamiento negativo donde pueden reducirse ciertos valores de un subconjunto de los valores de comparación suavizados a largo plazo (o des-enfatizarse) en un cierto factor. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden reducir los valores 854 que corresponden a la mitad izquierda del índice x (un lado 810 de desplazamiento negativo) del gráfico (por ejemplo, los primeros valores 755 de comparación suavizados a largo plazo) en un cierto factor (por ejemplo, 0,8, lo que indica un 20 % de reducción o de des-énfasis en los valores) lo que genera los valores 858 reducidos. El caso N.° 4 ilustra otro ejemplo de des-énfasis 860 lateral de desplazamiento positivo donde pueden reducirse valores de un subconjunto de los valores de comparación suavizados a largo plazo (o des-enfatizarse) en un cierto factor. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden reducir los valores 864 que corresponden a la mitad derecha del índice x (un lado 820 de desplazamiento positivo) del gráfico (por ejemplo, los primeros valores 755 de comparación suavizados a largo plazo) en un cierto factor (por ejemplo, 0,8, Io que Indica un 20 % de reducción o de des-énfasis en Ios valores) lo que genera Ios valores 868 reducidos.
Se presentan cuatro casos en la Figura 8 únicamente para el propósito de ilustración, y, por lo tanto, cualquier intervalo o valores o factores usados en Ios mismos no se pretende que sean ejemplos limitantes. Por ejemplo, todos Ios cuatro casos en la Figura 8 ilustran el ajuste de valores enteros en la mitad izquierda o derecha del eje x del gráfico. Sin embargo, en algunas implementaciones, puede ser posible que únicamente pueda ajustarse un subconjunto de valores en cualquiera del eje x positivo o negativo. En otro ejemplo, todos Ios cuatro casos en la Figura 8 ilustran el ajuste de valores en un cierto factor (por ejemplo, un factor de cambio de escala). Sin embargo, en algunas implementaciones, puede usarse una pluralidad de factores para diferentes regiones del eje x de Ios gráficos en el ejemplo 800. Adicionalmente, ajustar valores por un cierto factor puede implementarse multiplicando un factor de cambio de escala o añadiendo a o restando de Ios valores un valor de desplazamiento.
Haciendo referencia a la Figura 9, se muestra un método 900 de ajuste de un subconjunto de valores de comparación suavizados a largo plazo basándose en un parámetro de ganancia particular. El método 900 puede realizarse por el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura 1 o una combinación de Ios mismos.
El método 900 incluye calcular un parámetro de ganancia (gD) para una trama anterior (por ejemplo, la trama N-1), en 910. El parámetro de ganancia en 900 puede ser un parámetro 160 de ganancia en la Figura 1. En algunas implementaciones, el ecualizador 108 temporal puede generar el parámetro 160 de ganancia (por ejemplo, un parámetro de ganancia de códec o ganancia objetivo) basándose en muestras del canal objetivo y basándose en muestras del canal de referencia. Por ejemplo, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio basándose en el valor 162 de desajuste no causal. Como alternativa, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio independientes del valor 162 de desajuste no causal. El ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la primera señal 130 de audio es el canal de referencia, el parámetro 160 de ganancia de las muestras seleccionadas basándose en las primeras muestras de la primera trama 131 de la primera señal 130 de audio. Como alternativa, el ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la segunda señal 132 de audio es el canal de referencia, el parámetro 160 de ganancia basándose en una energía de una trama de referencia del canal de referencia y una energía de una trama objetivo del canal objetivo. Como un ejemplo, puede calcularse o generarse el parámetro 160 de ganancia basándose en una o más de las Ecuaciones la, ib , 1c, Id, le o 1f. En algunas implementaciones, el parámetro 160 de ganancia (gD) puede modificarse o suavizarse a través de una pluralidad de tramas mediante cualquier algoritmo de suavizado conocido o , como alternativa, mediante histéresis para evitar saltos grandes en la ganancia entre tramas.
El codificador 114 o el ecualizador 108 temporal pueden comparar el parámetro de ganancia con un umbral (por ejemplo, Thrl o Thr2), en 920 950. Cuando el parámetro 160 de ganancia (gD), basándose en una o más de las Ecuaciones la - if, es mayor que i, puede indicar que la primera señal 130 de audio (o el canal izquierdo) es un canal principal ("un canal de referencia") y, por lo tanto, es más probable que Ios valores de desplazamiento ("valores de desplazamiento temporal") fueran valores positivos. Los valores de desplazamiento temporal pueden ser uno de un valor 536 de desajuste de tentativa, un valor 538 de desajuste interpolado, un valor 540 de desajuste modificado, un valor 116 de desajuste final o un valor 162 de desajuste no causal. Por lo tanto, puede ser ventajoso destacar (o aumentar o potenciar o desviar) Ios valores en el lado de desplazamiento positivo y/o des-enfatizar (o reducir) Ios valores en el lado de desplazamiento negativo.
Cuando el parámetro 160 de ganancia (gD), que se calcula basándose en una o más de las Ecuaciones la - if, es mayor que i, puede significar que la primera señal 130 de audio (o el canal izquierdo) es un canal principal ("un canal de referencia") y, por lo tanto, es más probable que Ios valores de desplazamiento ("valores de desplazamiento temporal") fueran un valor positivo. Los valores de desplazamiento temporal pueden ser uno de un valor 536 de desajuste de tentativa, un valor 538 de desajuste interpolado, un valor 540 de desajuste modificado, un valor 116 de desajuste final o un valor 162 de desajuste no causal. Por lo tanto, la probabilidad de determinar un valor de desplazamiento no causal correcto puede mejorarse ventajosamente enfatizando (o aumentando o potenciando o desviando) Ios valores en el lado de desplazamiento positivo y/o des-enfatizando (o reduciendo) Ios valores en el lado de desplazamiento negativo.
Cuando el parámetro 160 de ganancia (gD), que se calcula basándose en una o más de las Ecuaciones la - if, es menor que i, puede significar que la segunda señal 130 de audio (o el canal derecho) es un canal principal ("un canal de referencia") y, por lo tanto, es más probable que Ios valores de desplazamiento ("valores de desplazamiento temporal") fueran un valor negativo. La probabilidad de determinar un valor de desplazamiento no causal correcto puede mejorarse ventajosamente enfatizando (o aumentando o potenciando o desviando) Ios valores en el lado de desplazamiento negativo y/o des-enfatizando (o reduciendo) Ios valores en el lado de desplazamiento positivo.
En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden comparar el parámetro 160 de ganancia (gD) con un primer umbral (por ejemplo, Thrl = 1,2) u otro umbral (por ejemplo, Thr2 = 0,8). Para propósito de ilustración, la Figura 9 muestra la primera comparación entre el parámetro 160 de ganancia (gD) y un Thrl en 920 que viene antes de la segunda comparación entre el parámetro 160 de ganancia (gD) y un Thr2 en 95o. Sin embargo, el orden entre la primera comparación 920 y la segunda comparación 950 puede Invertirse sin pérdida de generalidad. En algunas implementaciones, puede ejecutarse una cualquiera de la primera comparación 920 y la segunda comparación 950 sin la otra comparación.
El codificador 114 o el ecualizador 108 temporal pueden ajustar un primer subconjunto de los primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo, en respuesta al resultado de la comparación. Por ejemplo, cuando el parámetro 160 de ganancia (gD) es mayor que un primer umbral (por ejemplo, Thrl = 1,2), el método 900 puede ajustar un subconjunto de los primeros valores de comparación suavizados a largo plazo mediante al menos uno entre enfatizar el lado de desplazamiento positivo (por ejemplo, caso N.° 2830930) y des-enfatizar el lado de desplazamiento negativo (por ejemplo, el caso N.° 3840940) para evitar saltos espurios en los signos (positivos o negativos) de valores de desplazamiento temporal entre tramas adyacentes. En algunas implementaciones, tanto el caso N.° 2 (por ejemplo, énfasis lateral de desplazamiento positivo) como el caso N.° 3 (des-énfasis lateral de desplazamiento negativo) pueden ejecutarse en cualquier orden entre ellos. Como alternativa, cuando se selecciona el caso N.° 2 (por ejemplo, énfasis lateral de desplazamiento positivo) para enfatizar el lado de desplazamiento positivo, los valores del otro lado (por ejemplo, lado negativo) pueden ponerse a cero, en lugar de ejecutar el caso N.° 3, para reducir el riesgo de detección del signo incorrecto de valores de desplazamiento temporal.
Adicionalmente, cuando el parámetro 160 de ganancia (gD) es menor que un segundo umbral (por ejemplo, Thr2 = 0,8), el método 900 puede ajustar un subconjunto de los primeros valores de comparación suavizados a largo plazo en al menos uno entre enfatizar el lado de desplazamiento negativo (por ejemplo, el caso N.° 1860960) y des-enfatizar el lado de desplazamiento positivo (por ejemplo, el caso N.° 4870970) para evitar saltos espurios en signos (positivo 0 negativo) de los valores de desplazamiento temporal entre tramas adyacentes. En algunas implementaciones, tanto el caso N.° 1 (por ejemplo, énfasis lateral de desplazamiento negativo) como el caso N.° 4 (des-énfasis lateral de desplazamiento positivo) pueden ejecutarse en cualquier orden entre ellos. Como alternativa, cuando se selecciona el caso N.° 1 (por ejemplo, énfasis lateral de desplazamiento negativo) para enfatizar el lado de desplazamiento negativo, los valores del otro lado (por ejemplo, lado positivo) pueden ponerse a cero, en lugar de ejecutar el caso N.° 4, para reducir el riesgo de detección del signo incorrecto de valores de desplazamiento temporal.
Aunque puede realizarse el método 900 que muestra un ajuste, basándose en el parámetro 160 de ganancia (gD), en valores de un subconjunto de los primeros valores de comparación suavizados a largo plazo, el ajuste, como alternativa, puede realizarse en cualquiera de valores de comparación instantáneos o valores de un subconjunto de los valores de comparación suavizados a corto plazo. En algunas implementaciones, el ajuste de valores puede realizarse usando una ventana de suavizado (por ejemplo, una ventana de cambio de escala de suavizado) a través de múltiples valores de retraso. En otras implementaciones, la longitud de una ventana de suavizado puede cambiarse de manera adaptativa, por ejemplo, basándose en el valor de correlación cruzada de valores de comparación. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden ajustar la longitud de una ventana de suavizado basándose en un valor de correlación cruzada (CrossCorr_CompValN) 765 de unos valores de comparación instantánea CompVaN(k) 735 para la trama N 710 720 y los valores de comparación suavizados a corto plazo CompValSTN(k) 745 para la trama N 710720.
Haciendo referencia a la Figura 10, se muestran gráficos que ilustran valores de comparación para tramas de vo z , tramas de transición y tramas sin vo z . De acuerdo con la Figura 10, el gráfico 1002 ilustra valores de comparación (por ejemplo, valores de correlación cruzada) para una trama de voz procesada sin usar las técnicas de suavizado a largo plazo descritas, el gráfico 1004 ilustra valores de comparación para una trama de transición procesada sin usar las técnicas de suavizado a largo plazo descritas, y el gráfico 1006 ilustra valores de comparación para una trama sin voz procesada sin usar las técnicas de suavizado a largo plazo descritas.
La correlación cruzada representada en cada gráfico 1002, 1004, 1006 puede ser sustancialmente diferente. Por ejemplo, el gráfico 1002 ilustra que una correlación cruzada pico entre una trama de voz capturada por el primer micrófono 146 de la Figura 1 y una trama de voz correspondiente capturada por el segundo micrófono 148 de la Figura 1 tiene lugar a aproximadamente un desplazamiento de 17 muestras. Sin embargo, el gráfico 1004 ilustra que una correlación cruzada pico entre una trama de transición capturada por el primer micrófono 146 y una correspondiente trama de transición capturada por el segundo micrófono 148 tiene lugar a aproximadamente a un desplazamiento de 4 muestras. Además, el gráfico 1006 ilustra que una correlación cruzada pico entre una trama sin voz capturada por el primer micrófono 146 y una correspondiente trama sin voz capturada por el segundo micrófono 148 tiene lugar a aproximadamente un desplazamiento de -3 muestras. Por lo tanto, la estimación de desplazamiento puede ser imprecisa para tramas de transición y tramas sin voz debido a un nivel de ruido relativamente alto.
De acuerdo con la Figura 10, el gráfico 1012 ilustra valores de comparación (por ejemplo, valores de correlación cruzada) para una trama de voz procesada usando las técnicas de suavizado a largo plazo descritas, el gráfico 1014 ilustra valores de comparación para una trama de transición procesada usando las técnicas de suavizado a largo plazo descritas, y el gráfico 1016 ilustra valores de comparación para una trama sin voz procesada usando las técnicas de suavizado a largo plazo descritas. Los valores de correlación cruzada en cada gráfico 1012, 1014, 1016 pueden ser sustancialmente similares. Por ejemplo, cada gráfico 1012, 1014, 1016 ilustra que una correlación cruzada pico entre una trama capturada por el primer micrófono 146 de la Figura 1 y una correspondiente trama capturada por el segundo micrófono 148 de la Figura 1 tiene lugar a aproximadamente un desplazamiento de 17 muestras. Por lo tanto, las estimaciones de desplazamiento para tramas de transición (ilustradas por el gráfico 1014) y tramas sin voz (ilustradas por el gráfico 1016) pueden ser relativamente precisas (o similares) a la estimación de desplazamiento de la trama de voz a pesar del ruido.
Haciendo referencia a la Figura 11, se muestra un método 1100 de desplazar de manera no causal un canal basándose en una compensación temporal entre audio capturado en múltiples micrófonos. El método 1100 puede realizarse por el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura 1 o una combinación de los mismos.
El método 1100 incluye estimar valores de comparación en un codificador, en 1110. Cada valor de comparación puede ser indicativo de una cantidad de desajuste temporal, o una medida de la similitud o disimilitud entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo, en 1110. En algunas implementaciones, puede usarse la función de correlación cruzada entre la trama de referencia y la trama objetivo para medir la similitud de las dos tramas como una función del retraso de una trama con relación a la otra. Por ejemplo, haciendo referencia a la Figura 1, el codificador 114 o el ecualizador 108 temporal pueden estimar valores de comparación (por ejemplo, valores de correlación cruzada) indicativos de una cantidad de desajuste temporal, o una medida de la similitud o disimilitud entre tramas de referencia (capturadas anteriormente en el tiempo) y correspondientes tramas objetivo (capturadas anteriormente en el tiempo). Para ilustrar, si CompValN(k) representa el valor de comparación en un desplazamiento de k para la trama N, la trama N puede tener valores de comparación de k=T_MIN (un desplazamiento mínimo) hasta k=T_MAX(un desplazamiento máximo).
El método 1100 incluye suavizar los valores de comparación para generar valores de comparación suavizados a corto plazo, en 1115. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden suavizar los valores de comparación para generar valores de comparación suavizados a corto plazo. Los valores de comparación suavizados a corto plazo (por ejemplo, CompValSTfj(k) para la trama N) pueden estimarse como una versión suavizada de los valores de comparación de las tramas en la cercanía de la trama actual (por ejemplo, la trama N) que se está procesando. Para ilustrar, los valores de comparación a corto plazo pueden generarse como una combinación lineal de una pluralidad de valores de comparación de tramas actuales y anteriores (por ejemplo, CompValSTN (k) = 1 ^ ^ — —----- -— -— —- ). En algunas implementaciones, puede aplicarse una ponderación no uniforme a la pluralidad de valores de comparación para las tramas actuales y anteriores. En otras implementaciones, los valores de comparación a corto plazo pueden ser los mismos que los valores de comparación generados la trama que se está procesando (CompVaN(k)).
El método 1100 incluye suavizar los valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado, en 1120. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden suavizar los valores de comparación para generar valores de comparación suavizados basándose en datos de valor de comparación históricos y un parámetro de suavizado. El suavizado puede realizarse de manera que se representa unos valores de comparación suavizados a largo plazo CompValLTfj(k) por CompValLTfj(k) = f(CompVaN(k), CompValN-i(k), CompValLTN_2(k),..J. La función / en la ecuación anterior puede ser una función de todos (o un subconjunto) de valores de comparación pasados en el desplazamiento (k). Una representación alternativa puede ser CompValLTfj (k) = g(CompValN(k),CompValN(k),CompValN-2 (k),...). Las funciones / o g pueden ser filtros de respuesta finita al impulso (FIR) o filtros de respuesta infinita al impulso (IIR), respectivamente. Por ejemplo, la función g puede ser un filtro de IIR de única derivación de manera que los valores de comparación suavizados a largo plazo CompValLTfj (k) se representa por CompValLTfj (k) = (1 - a) * CompVaN(k) + (a) * CompValLTfj_1(k), dondea e (0,1,0). Por lo tanto, los valores de comparación suavizados a largo plazo CompValLTN(k) pueden estar basados en una mezcla ponderada de los valores de comparación instantánea CompValN(k) para la trama N y los valores de comparación suavizados a largo plazo CompValLTfi_k) para una o más tramas anteriores.
De acuerdo con una implementación, el parámetro de suavizado puede ser adaptativo. Por ejemplo, el método 1100 puede incluir adaptar el parámetro de suavizado basándose en una correlación de valores de comparación suavizados a corto plazo a valores de comparación suavizados a largo plazo. A medida que aumenta el valor de a, aumenta la cantidad de suavizado en el valor de comparación suavizado a largo plazo. Un valor del parámetro de suavizado (a) puede ajustarse basándose en indicadores de energía a corto plazo de canales de entrada e indicadores de energía a largo plazo de los canales de entrada. Adicionalmente, el valor del parámetro de suavizado (a) puede reducirse si los indicadores de energía a corto plazo son mayores que los indicadores de energía a largo plazo. De acuerdo con otra implementación, se ajusta un valor del parámetro de suavizado (a) basándose en una correlación de valores de comparación suavizados a corto plazo a valores de comparación suavizados a largo plazo. Adicionalmente, puede aumentarse el valor del parámetro de suavizado (a) si la correlación supera un umbral. De acuerdo con otra implementación, los valores de comparación pueden ser valores de correlación cruzada de canales de referencia submuestreados y del correspondiente canal objetivo submuestreado.
El método 1100 incluye calcular un valor de correlación cruzada entre Ios valores de comparación y Ios valores de comparación suavizados a corto plazo, en 1125. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden calcular un valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) 765 entre Ios valores de comparación para una única trama ("valores de comparación instantánea" CompVaN(k) 735 y valores de comparación suavizados a corto plazo (CompValSTfj(k)) 745. El valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) 765 puede ser un único valor estimado por cada trama (N), y puede corresponder a un grado de correlación cruzada entre otros dos valores de correlación. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden calcular (CrossCorr_CompValN) 765 como CrossCorr_CompValN = (£ k CompValSTNk) * CompValN(k))/Fac. Donde 'Fac' es un factor de normalización elegido de manera que CrossCorr_CompValN está restringido entre 0 y 1.
En implementaciones alternativas, el método 1100 puede incluir calcular un valor de correlación cruzada entre Ios valores de comparación suavizados a corto plazo y Ios valores de comparación suavizados a largo plazo, en 1125. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden calcular un valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) 765 entre valores de comparación suavizados a corto plazo (CompValSTfj(k)) 745 y valores de comparación suavizados a largo plazo (CompValLTfj (k)) 755. El valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) 765 puede ser un único valor estimado por cada trama (N)), y puede corresponder a un grado de correlación cruzada entre otros dos valores de correlación. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden calcular (CrossCorr_CompValN) 765 como CrossCorr_CompValN = (^kCompValSTfj (k) * CompValLTfj_1(k))/Fac.
El método 1100 incluye comparar el valor de correlación cruzada con un umbral, en 1130. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden comparar el valor de correlación cruzada (CrossCorr_CompValN) 765 con un umbral. El método 1100 también incluye ajustar Ios primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo, en respuesta a la determinación de que el valor de correlación cruzada supera el umbral, en 1135. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden ajustar una totalidad o alguna parte de Ios primeros valores 755 de comparación suavizados a largo plazo basándose en el resultado de la comparación. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden aumentar (o potenciar o desviar) ciertos valores de un subconjunto de Ios primeros valores 755 de comparación suavizados a largo plazo en respuesta a la determinación de que el valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) 765 supera el umbral. Por ejemplo, cuando el valor de correlación cruzada de Ios valores de comparación (CrossCorr_CompValN) es mayor o igual que un umbral (por ejemplo, 0,8), puede indicar que el valor de correlación cruzada entre valores de comparación es bastante intenso o alto, lo que indica variaciones pequeñas o ninguna de Ios valores de desplazamiento temporal entre tramas adyacentes. Por lo tanto, el valor de desplazamiento temporal estimado de la trama actual (por ejemplo, la trama N) no puede estar demasiado lejos de Ios valores de desplazamiento temporal de la trama anterior (por ejemplo, la trama N-1) o Ios valores de desplazamiento temporal de cualquiera de las otras tramas anteriores. Los valores de desplazamiento temporal pueden ser uno de un valor 536 de desajuste de tentativa, un valor 538 de desajuste interpolado, un valor 540 de desajuste modificado, un valor 116 de desajuste final o un valor 162 de desajuste no causal. Por lo tanto, el codificador 1 l4 o el ecualizador 108 temporal pueden aumentar (o potenciar o desviar) ciertos valores de un subconjunto de Ios primeros valores 755 de comparación suavizados a largo plazo, por ejemplo, en un factor de 1,2 (un 20 % de potencia o aumento) para generar unos segundos valores de comparación suavizados a largo plazo. Esta potenciación o desviación puede implementarse multiplicando un factor de cambio de escala o añadiendo una compensación a Ios valores dentro del subconjunto de Ios primeros valores 755 de comparación suavizados a largo plazo. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden potenciar o desviar el subconjunto de Ios primeros valores de comparación suavizados a largo plazo 755 de manera que el subconjunto puede incluir un índice que corresponde al valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama n -1). Adicionalmente, o como alternativa, el subconjunto puede incluir adicionalmente un índice alrededor de las cercanías del valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama n -1). Por ejemplo, las cercanías pueden significar dentro de -delta (por ejemplo, delta se encuentra en el intervalo de 1-5 muestras en una realización preferida) y delta del valor de desplazamiento temporal de la trama anterior (por ejemplo, la trama n -1).
El método 1100 incluye estimar un valor de desplazamiento de tentativa basándose en Ios segundos valores de comparación suavizados a largo plazo, en 1140. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden estimar un valor 536 de desplazamiento de tentativa basándose en Ios segundos valores de comparación suavizados a largo plazo. El método 1100 también incluye determinar un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa, en 1145. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden determinar un valor de desplazamiento no causal (por ejemplo, el valor 162 de desajuste no causal) basándose al menos en parte en el valor de desplazamiento de tentativa (por ejemplo, el valor 536 de desajuste de tentativa, el valor 538 de desajuste interpolado, el valor 540 de desajuste modificado o el valor 116 de desajuste final).
El método 1100 incluye desplazar de manera no causal un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular, en 1150. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden desplazar de manera no causal el canal objetivo mediante el valor de desplazamiento no causal (por ejemplo, el valor 162 de desajuste no causal) para generar un canal objetivo ajustado que está temporalmente alineado con el canal de referencia. El método 1100 también incluye generar al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado, en 1155. Por ejemplo, haciendo referencia a la Figura 11, el codificador 114 puede generar al menos un canal de banda media y un canal de banda lateral basándose en el canal de referencia y el canal objetivo ajustado.
Haciendo referencia a la Figura 12, se muestra un método 1200 de desplazar de manera no causal un canal basándose en una compensación temporal entre audio capturado en múltiples micrófonos. El método 1200 puede realizarse por el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura 1 o una combinación de los mismos.
El método 1200 incluye estimar valores de comparación en un codificador, en 1210. Por ejemplo, el método en 1210 puede ser similar al método en 1110, como se describe con referencia a la Figura 11. El método 1200 también incluye suavizar los valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado, en 1220. Por ejemplo, el método en 1220 puede ser similar al método en 1120, como se describe con referencia a la Figura 11.
El método 1200 incluye calcular un parámetro de ganancia a partir de una trama de referencia previa de un canal de referencia y una correspondiente trama objetivo previa de un canal objetivo, en 1225. En algunas implementaciones, el parámetro de ganancia de la trama anterior puede estar basado en una energía de la trama de referencia previa y una energía de la trama objetivo anterior. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden generar o calcular el parámetro 160 de ganancia (por ejemplo, un parámetro de ganancia de códec o ganancia objetivo) basándose en muestras del canal objetivo y basándose en muestras del canal de referencia. Por ejemplo, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio basándose en el valor 162 de desajuste no causal. Como alternativa, el ecualizador 108 temporal puede seleccionar muestras de la segunda señal 132 de audio independientes del valor 162 de desajuste no causal. El ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la primera señal 130 de audio es el canal de referencia, el parámetro 160 de ganancia de las muestras seleccionadas basándose en las primeras muestras de la primera trama 131 de la primera señal 130 de audio. Como alternativa, el ecualizador 108 temporal puede determinar, en respuesta a la determinación de que la segunda señal 132 de audio es el canal de referencia, el parámetro 160 de ganancia basándose en una energía de una trama de referencia del canal de referencia y una energía de una trama objetivo del canal objetivo. Como un ejemplo, puede calcularse o generarse el parámetro 160 de ganancia basándose en una o más de las Ecuaciones la, Ib, 1c, Id, le o 1f. En algunas implementaciones, el parámetro 160 de ganancia (gD) puede modificarse o suavizarse a través de una pluralidad de tramas mediante cualquier algoritmo de suavizado conocido o , como alternativa, mediante histéresis para evitar saltos grandes en la ganancia entre tramas.
El método 1200 también incluye comparar el parámetro de ganancia con un primer umbral, en 1230. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden comparar el parámetro de ganancia con un primer umbral (por ejemplo, Thrl o Thr2), en 1230. Cuando el parámetro 160 de ganancia (gD), basándose en una o más de las Ecuaciones la - 1f, es mayor que 1, puede indicar que la primera señal 130 de audio (o el canal izquierdo) es un canal principal ("un canal de referencia") y, por lo tanto, es más probable que los valores de desplazamiento ("valores de desplazamiento temporal") fueran valores positivos. Los valores de desplazamiento temporal pueden ser uno de un valor 536 de desajuste de tentativa, un valor 538 de desajuste interpolado, un valor 540 de desajuste modificado, un valor 116 de desajuste final o un valor 162 de desajuste no causal. Por lo tanto, puede ser ventajoso destacar (o aumentar o potenciar o desviar) los valores en el lado de desplazamiento positivo y/o des-enfatizar (o reducir) los valores en el lado de desplazamiento negativo. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden comparar el parámetro 160 de ganancia (gD) con un primer umbral (por ejemplo, Thrl = 1,2) u otro umbral (por ejemplo, Thr2 = 0,8), como se describe con referencia a la Figura 9.
El método 1200 también incluye ajustar un primer subconjunto de los primeros valores de comparación suavizados a largo plazo, en respuesta al resultado de la comparación, para generar segundos valores de comparación suavizados a largo plazo, en 1235. Por ejemplo, el codificador 114 o el ecualizador 108 temporal pueden ajustar un primer subconjunto de los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755 para generar segundos valores de comparación suavizados a largo plazo, en respuesta al resultado de la comparación. En una realización preferida, el primer subconjunto de los primeros valores de comparación suavizados a largo plazo corresponde a una mitad positiva (por ejemplo, el lado 820 de desplazamiento positivo) o una mitad negativa (por ejemplo, el lado 810 de desplazamiento negativo) de los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755, como se describe con referencia a la Figura 9. En algunas implementaciones, el codificador 114 o el ecualizador 108 temporal pueden ajustar un primer subconjunto de los primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755 de acuerdo con cuatro ejemplos mostrados en la Figura 8 - caso N.° 1 (énfasis lateral de desplazamiento negativo) 830, caso N.° 2 (énfasis lateral de desplazamiento positivo) 840, caso N.° 3 (des-énfasis lateral de desplazamiento negativo) 850, y caso N.° 4 (des-énfasis lateral de desplazamiento positivo) 860.
Volviendo a la Figura 8, el ejemplo 800 Ilustra cuatro casos que muestran que un subconjunto de Ios valores de comparación suavizados a largo plazo (por ejemplo, Ios primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) pueden ajustarse basándose en el resultado de la comparación. Ajustar un subconjunto de Ios valores de comparación suavizados a largo plazo en el ejemplo 800 puede incluir aumentar ciertos valores del subconjunto de Ios valores de comparación suavizados a largo plazo (por ejemplo, Ios primeros valores de comparación suavizados a largo plazo CompValLTfj(k) 755) en un cierto factor. Por ejemplo, las Figuras 8-9 ilustran un ejemplo de aumento de ciertos valores (por ejemplo, el caso N.° 1 y el caso N.° 2 en la Figura 8) de acuerdo con ciertas condiciones ilustrativas como se ha descrito anteriormente con referencia a un diagrama de flujo en la Figura 9. Ajustar el subconjunto de Ios valores de comparación suavizados a largo plazo puede incluir también reducir ciertos valores del subconjunto de Ios valores de comparación suavizados a largo plazo (por ejemplo, Ios primeros valores 755 de comparación suavizados a largo plazo) en un cierto factor. Las Figuras 8-9 ilustran un ejemplo de reducción de ciertos valores (por ejemplo, el caso N.° 3 y el caso N.° 4 en la Figura 8) de acuerdo con ciertas condiciones ilustrativas como se han descrito anteriormente con referencia a un diagrama de flujo en la Figura 9.
Se presentan cuatro casos en la Figura 8 únicamente para el propósito de ilustración, y, por lo tanto, cualquier intervalo o valores o factores usados en Ios mismos no se pretende que sean ejemplos limitantes. Por ejemplo, todos Ios cuatro casos en la Figura 8 ilustran el ajuste de valores enteros en la mitad izquierda o derecha del eje x del gráfico. Sin embargo, en algunas implementaciones, puede ser posible que únicamente pueda ajustarse un subconjunto de valores en cualquiera del eje x positivo o negativo. En otro ejemplo, todos Ios cuatro casos en la Figura 8 ilustran el ajuste de valores en un cierto factor (por ejemplo, un factor de cambio de escala). Sin embargo, en algunas implementaciones, puede usarse una pluralidad de factores para diferentes regiones del eje x de Ios gráficos en el ejemplo 800. Adicionalmente, ajustar valores por un cierto factor puede implementarse multiplicando un factor de cambio de escala o añadiendo a o restando de Ios valores un valor de desplazamiento.
El método 1200 incluye estimar un valor de desplazamiento de tentativa basándose en Ios segundos valores de comparación suavizados a largo plazo, en 1240. Por ejemplo, el método en 1240 puede ser similar al método en 1140, como se describe con referencia a la Figura 11. El método 1200 también incluye determinar un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa, en 1245. Por ejemplo, el método en 1245 puede ser similar al método en 1145, como se describe con referencia a la Figura 11. El método 1200 incluye desplazar de manera no causal un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular, en 1250. Por ejemplo, el método en 1250 puede ser similar al método en 1150, como se describe con referencia a la Figura 11. El método 1200 también incluye generar al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado, en 1255. Por ejemplo, el método en 1255 puede ser similar al método en 1155, como se describe con referencia a la Figura 11.
Haciendo referencia a la Figura 13, se representa un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo (por ejemplo, un dispositivo de comunicación inalámbrica) y se designa en general 130o . En diversas realizaciones, el dispositivo 1300 puede tener menos o más componentes que Ios ilustrados en la Figura 13. En una realización ilustrativa, el dispositivo 1300 puede corresponder al primer dispositivo 104 o al segundo dispositivo 106 de la Figura 1. En una realización ilustrativa, el dispositivo 1300 puede realizar una o más operaciones descritas con referencia a sistemas y métodos de las Figuras 1-12.
En una realización particular, el dispositivo 1300 incluye un procesador 1306 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 1300 puede incluir uno o más procesadores l3 l0 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). Los procesadores 1310 pueden incluir un codificadordecodificador (CÓDEC) 1308 de medios (por ejemplo, del habla y de música) y un cancelador 1312 de eco. El CÓDEC 1308 de medios puede incluir el decodificador 118, el codificador 114 o ambos, de la Figura 1. El codificador 114 puede incluir el ecualizador 108 temporal.
El dispositivo 1300 puede incluir una memoria 153 y un CÓDEC 1334. Aunque se ilustra el CÓDEC 1308 de medios como un componente de Ios procesadores 1310 (por ejemplo, circuitería especializada y/o código de programación ejecutable), en otras realizaciones, uno o más componentes del CÓDEC 1308 de medios, tal como el decodificador 118, el codificador 114 o ambos, pueden incluirse en el procesador 1306, el CÓDEC 1334, otro componente de procesamiento o en una combinación de Ios mismos.
El dispositivo 1300 puede incluir el transmisor 110 acoplado a una antena 1342. El dispositivo 1300 puede incluir una pantalla 1328 acoplada a un controlador 1326 de pantalla. Uno o más altavoces 1348 pueden acoplarse al CÓDEC 1334. Uno o más micrófonos 1346 pueden acoplarse, mediante la interfaz o interfaces 112 de entrada, al CÓDEC 1334. En una implementación particular, Ios altavoces 1348 pueden incluir el primer altavoz 142, el segundo altavoz 144 de la Figura 1, el altavoz 244 de orden Y de la Figura 2 o una combinación de Ios mismos. En una implementación particular, Ios micrófonos 1346 pueden incluir el primer micrófono 146, el segundo micrófono 148 de la Figura 1, el micrófono 248 de orden N de la Figura 2, el tercer micrófono 1146, el cuarto micrófono 1148 de la Figura 11 o una combinación de Ios mismos. El CÓDEC 1334 puede incluir un convertidor de digital a analógico (DAC) 1302 y un convertidor de analógico a digital (ADC) 1304.
La memoria 153 puede incluir instrucciones 1360 que pueden ejecutarse por el procesador 1306, Ios procesadores 1310, el CÓDEC 1334, otra unidad de procesamiento del dispositivo 13o0 o una combinación de Ios mismos, para realizar una o más operaciones descritas con referencia a las Figuras 1-12. La memoria 153 puede almacenar Ios datos 190 de análisis.
Uno o más componentes del dispositivo 1300 pueden implementarse mediante hardware especializado (por ejemplo, circuitería), por un procesador que ejecuta instrucciones para realizar una o más tareas o una combinación de Ios mismos. Como un ejemplo, la memoria 153 o uno o más componentes del procesador 1306, Ios procesadores 1310 y/o el CÓDEC 1334 pueden ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), memoria de acceso aleatorio magneto-resistiva (MRAM), MRAM de par de transferencia de giro (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable borrable (EPROM), memoria de solo lectura eléctricamente programable borrable (EEPROM), registros, disco duro, un disco extraíble o un disco compacto memoria de solo lectura (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 1360) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 1334, el procesador 1306 y/o Ios procesadores 1310), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las Figuras 1-12. Como un ejemplo, la memoria 153 o el uno o más componentes del procesador 1306, Ios procesadores 1310 y/o el CÓDEC 1334 pueden ser un medio legible por ordenador no transitorio que incluye instrucciones (por ejemplo, las instrucciones 1360) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 1334, el procesador 1306 y/o Ios procesadores l3 l0 ), hacen que el ordenador realice una o más operaciones descritas con referencia a las Figuras 1-12.
En una realización particular, el dispositivo 1300 puede estar incluido en un sistema en paquete o en un dispositivo de sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 1322. En una realización particular, el procesador 1306, Ios procesadores 1310, el controlador 1326 de pantalla, la memoria 153, el CÓDEC 1334 y el transmisor 110 están incluidos en un sistema en paquete o en el dispositivo 1322 de sistema en chip. En una realización particular, un dispositivo 1330 de entrada, tal como una pantalla táctil y/o teclado numérico y una fuente 1344 de alimentación se acoplan al dispositivo 1322 de sistema en chip. Además, en una realización particular, como se ilustra en la Figura 13, la pantalla 1328, el dispositivo 1330 de entrada, Ios altavoces 1348, Ios micrófonos 1346, la antena 1342 y la fuente 1344 de alimentación son externos al dispositivo 1322 de sistema en chip. Sin embargo, cada uno de la pantalla 1328, el dispositivo 1330 de entrada, Ios altavoces 1348, Ios micrófonos 1346, la antena 1342 y la fuente 1344 de alimentación pueden acoplarse a un componente del dispositivo 1322 de sistema en chip, tal como una interfaz o un controlador.
El dispositivo 1300 puede incluir un teléfono inalámbrico, un dispositivo de comunicación móvil, un teléfono móvil, un teléfono inteligente, un teléfono celular, un ordenador portátil, un ordenador de sobremesa, un ordenador, un ordenador de tableta, un decodificador de salón, un asistente digital personal (PDA), un dispositivo de visualización, una televisión, una consola de juegos, un reproductor de música, una radio, un reproductor de vídeo, una unidad de entretenimiento, un dispositivo de comunicación, una unidad de datos de ubicación fija, un reproductor de medios personal, un reproductor de vídeo digital, un reproductor de disco de vídeo digital (DVD), un sintonizador, una cámara, un dispositivo de navegación, un sistema de decodificador, un sistema de codificador o cualquier combinación de Ios mismos.
En una implementación particular, uno o más componentes de Ios sistemas descritos en el presente documento y el dispositivo 1300 pueden estar integrados en un sistema o aparato de decodificación (por ejemplo, un dispositivo electrónico, un CÓDEC o un procesador en el mismo), en un sistema o aparato de codificación o ambos. En otras implementaciones, uno o más componentes de Ios sistemas descritos en el presente documento y el dispositivo 1300 pueden integrarse en un teléfono inalámbrico, un ordenador de tableta, un ordenador de sobremesa, un ordenador portátil, un decodificador de salón, un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, una televisión, una consola de juegos, un dispositivo de navegación, un dispositivo de comunicación, un asistente digital personal (PDA), una unidad datos de ubicación fija, un reproductor de medios personal u otro tipo de dispositivo.
Debería observarse que diversas funciones realizadas por el uno o más componentes de Ios sistemas descritos en el presente documento y el dispositivo 1300 se describen como que se realizan por ciertos componentes o módulos. Esta división de componentes y módulos es para ilustración únicamente. En una implementación alternativa, una función realizada por un componente o módulo particular puede dividirse entre múltiples componentes o módulos. Además, en una implementación alternativa, dos o más componentes o módulos de Ios sistemas descritos en el presente documento pueden estar integrados en un único componente o módulo. Cada componente o módulo ilustrado en Ios sistemas descritos en el presente documento puede implementarse usando hardware (por ejemplo, un dispositivo de campo de matriz de puertas programables (FPGA), un circuito integrado específico de la aplicación (ASIC), un DSP, un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o cualquier combinación de Ios mismos.
En conjunto con las implementaciones descritas, un aparato incluye medios para capturar un canal de referencia. El canal de referencia puede incluir una trama de referencia. Por ejemplo, Ios medios para capturar la primera señal de audio pueden incluir el primer micrófono 146 de las Figuras 1-2, el micrófono o micrófonos 1346 de la Figura 13, uno o más dispositivos/sensores configurados para capturar el canal de referencia (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador) o una combinación de Ios mismos.
El aparato puede incluir también medios para capturar un canal objetivo. El canal objetivo puede incluir una trama objetivo. Por ejemplo, Ios medios para capturar la segunda señal de audio pueden incluir el segundo micrófono 148 de las Figuras 1-2, el micrófono o micrófonos 1346 de la Figura 13, uno o más dispositivos/sensores configurados para capturar el canal objetivo (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador) o una combinación de Ios mismos.
El aparato puede incluir también medios para estimar un retardo entre la trama de referencia y la trama objetivo. Por ejemplo, Ios medios para determinar el retardo pueden incluir el ecualizador 108 temporal, el codificador 114, el primer dispositivo 104 de la Figura 1, el CÓDEC 1308 de medios, Ios procesadores 13l0, el dispositivo 1300, uno o más dispositivos configurados para determinar el retardo (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador) o una combinación de Ios mismos.
El aparato puede incluir también medios para transmitir una compensación temporal entre el canal de referencia y el canal objetivo basándose en el retardo y basándose en datos de retardo históricos. Por ejemplo, Ios medios para estimar la compensación temporal pueden incluir el ecualizador 108 temporal, el codificador 1l4, el primer dispositivo 104 de la Figura 1, el CÓDEC 1308 de medios, Ios procesadores 1310, el dispositivo 1300, uno o más dispositivos configurados para estimar la compensación temporal (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador) o una combinación de Ios mismos.
Haciendo referencia a la Figura 14, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación 1400 base. En diversas implementaciones, la estación 1400 base puede tener más componentes o menos componentes que Ios ilustrados en la Figura 14. En un ejemplo ilustrativo, la estación 1400 base puede incluir el primer dispositivo 104, el segundo dispositivo 106 de la Figura 1, el primer dispositivo 134 de la Figura 2 o una combinación de Ios mismos. En un ejemplo ilustrativo, la estación 1400 base puede operar de acuerdo con uno o más de Ios métodos o sistemas descritos con referencia a las Figuras 1-13.
La estación 1400 base puede ser parte de un sistema de comunicación inalámbrica. El sistema de comunicación inalámbrica puede incluir múltiples estaciones base y múltiples dispositivos inalámbricos. El sistema de comunicación inalámbrica puede ser un sistema de la Evolución a Largo Plazo (LTE), un sistema de Acceso Múltiple por División de Código (CDMA), un sistema del Sistema Global para Comunicación Móvil (GSM), un sistema de red de área local inalámbrica (WLAN) o algún otro sistema inalámbrico. Un sistema de CDMA puede implementar CDMA de banda ancha (WCDMA), CDMA IX, Datos de Evolución Optimizados (EVDO), CDMA Síncrona de División en el Tiempo (TD-S C D m A) o alguna otra versión de CDMA.
Los dispositivos inalámbricos pueden denominarse también como un equipo de usuario (UE), una estación móvil, un terminal, un terminal de acceso, una unidad de abonado, una estación, etc. Los dispositivos inalámbricos pueden incluir un teléfono celular, un teléfono inteligente, una tableta, un módem inalámbrico, un asistente digital personal (PDA), un dispositivo portátil, un ordenador portátil, un libro inteligente, un portátil, una tableta, un teléfono inalámbrico, una estación de bucle local inalámbrico (WLL), un dispositivo de Bluetooth, etc. Los dispositivos inalámbricos pueden incluir o corresponder al dispositivo 1400 de la Figura 14.
Pueden realizarse diversas funciones por uno o más componentes de la estación 1400 base (y/o en otros componentes no mostrados), tal como enviar y recibir mensajes y datos (por ejemplo, datos de audio). En un ejemplo particular, la estación 1400 base incluye un procesador 1406 (por ejemplo, una CPU). La estación 1400 base puede incluir un transcodificador 1410. El transcodificador 1410 puede incluir un CÓDEC 1408 de audio. Por ejemplo, el transcodificador 1410 puede incluir uno o más componentes (por ejemplo, circuitería) configurados para realizar operaciones del C Ó d Ec 1408 de audio. Como otro ejemplo, el transcodificador 1410 pueden configurarse para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CÓDEC 1408 de audio. Aunque el CÓDEC 1408 de audio se ilustra como un componente del transcodificador 1410, en otros ejemplos pueden incluirse uno o más componentes del códec de audio 1408 en el procesador 1406, otro componente de procesamiento o una combinación de Ios mismos. Por ejemplo, un decodificador 1438 (por ejemplo, un decodificador de codificador de vo z) puede incluirse en un procesador i 464 de datos de receptor. Como otro ejemplo, un codificador 1436 (por ejemplo, un codificador de codificador de v o z) puede incluirse en un procesador 1482 de datos de transmisión.
El transcodificador 1410 puede funcionar para transcodificar mensajes y datos entre dos o más redes. El transcodificador 1410 puede configurarse para convertir mensajes y datos de audio de un primer formato (por ejemplo, un formato digital) a un segundo formato. Para ilustrar, el decodificador 1438 puede decodificar señales codificadas que tienen un primer formato y el codificador 1436 puede codificar las señales decodificadas en señales codificadas que tienen un segundo formato. Adicionalmente, o como alternativa, el transcodificador 1410 puede configurarse para realizar adaptación de tasa de datos. Por ejemplo, el transcodificador 1410 puede convertir de manera descendente una tasa de datos o convertir de manera ascendente la tasa de datos sin cambiar un formato de Ios datos de audio. Para ilustrar, el transcodificador 1410 puede convertir de manera descendente señales de 64 kbit/s en señales de 16 kbit/s.
El CÓDEC 1408 de audio puede incluir el codificador 1436 y el decodificador 1438. El codificador 1436 puede incluir el codificador 114 de la Figura 1, el codificador 214 de la Figura 2 o ambos. El decodificador 1438 puede incluir el decodificador 118 de la Figura 1.
La estación 1400 base puede incluir una memoria 1432. La memoria 1432, tal como un dispositivo de almacenamiento legible por ordenador, puede incluir instrucciones. Las instrucciones pueden incluir una o más instrucciones que son ejecutables por el procesador 1406, el transcodificador 1410 o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a los métodos y sistemas de las Figuras 1-13. La estación 1400 base puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tal como un primer transceptor 1452 y un segundo transceptor 1454, acoplados a una serie de antenas. La serie de antenas puede incluir una primera antena 1442 y una segunda antena 1444. La serie de antenas puede estar configurada para comunicarse inalámbricamente con uno o más dispositivos inalámbricos, tal como el dispositivo 1400 de la Figura 14. Por ejemplo, la segunda antena 1444 puede recibir un flujo 1414 de datos (por ejemplo, un flujo de bits) de un dispositivo inalámbrico. El flujo 1414 de datos puede incluir mensajes, datos (por ejemplo, datos del habla codificados) o una combinación de los mismos.
La estación 1400 base puede incluir una conexión 1460 de red, tal como una conexión de enlace de retroceso. La conexión 1460 de red puede configurase para comunicarse con una red principal o una o más estaciones base de la red de comunicación inalámbrica. Por ejemplo, la estación 1400 base puede recibir un segundo flujo de datos (por ejemplo, mensajes o datos de audio) de una red principal mediante la conexión 1460 de red. La estación 1400 base puede procesar el segundo flujo de datos para generar mensajes o datos de audio y proporcionar los mensajes o Ios datos de audio a uno o más dispositivos inalámbricos mediante una o más antenas de la serie de antenas o a otra estación base mediante la conexión 1460 de red. En una implementación particular, la conexión 1460 de red puede ser una conexión de red de área extensa (WAN), como un ejemplo ilustrativo no limitante. En algunas implementaciones, la red principal puede incluir o corresponder a una Red Telefónica Pública Conmutada (PSTN), una red troncal de paquetes o ambas.
La estación 1400 base puede incluir una pasarela 1470 de medios que está acoplada a la conexión 1460 de red y al procesador 1406. La pasarela 1470 de medios puede estar configurada para convertir entre flujos de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela 1470 de medios puede convertir entre diferentes protocolos de transmisión, diferentes esquemas de codificación o ambos. Para ilustrar, la pasarela 1470 de medios puede convertir de señales de PCM a señales del Protocolo de Transporte en Tiempo Real (RTP), como un ejemplo ilustrativo no limitante. La pasarela 1470 de medios puede convertir datos entre redes de conmutación de paquetes (por ejemplo, una red de V oz a través de Protocolo de Internet (Vo IP), un Subsistema Multimedia de IP (IMS), una red inalámbrica de la cuarta generación (4G), tal como LTE, WiMax y UMB, etc.), redes de conmutación de circuitos (por ejemplo, una PSTN), y redes híbridas (por ejemplo, una red inalámbrica de segunda generación (2G), tal como G s M, GPRS y EDGE, una red inalámbrica de tercera generación (3G), tal como WCDMA, EV-DO y h S p A, etc.).
Adicionalmente, la pasarela 1470 de medios puede incluir una transcodificación y puede configurarse para transcodificar datos cuando Ios códecs son incompatibles. Por ejemplo, la pasarela 1470 de medios puede transcodificar entre una códec de Múltiples Tasas Adaptativas (AMR) y un códec G.711. como un ejemplo ilustrativo no limitante. La pasarela 1470 de medios puede incluir un encaminador y una pluralidad de interfaces físicas. En algunas implementaciones. la pasarela 1470 de medios puede incluir también un controlador (no mostrado). En una implementación particular. el controlador de pasarela de medios puede ser externo a la pasarela 1470 de medios. externo a la estación 1400 base o ambas. El controlador de pasarela de medios puede controlar y coordinar operaciones de múltiples pasarelas de medios. La pasarela 1470 de medios puede recibir señales de control desde el controlador de pasarela de medios y puede funcionar para puentear entre diferentes tecnologías de transmisión y puede añadir servicio a capacidades y conexiones de usuario final.
La estación 1400 base puede incluir un demodulador 1462 que está acoplado a Ios transceptores 1452, 1454, al procesador 1464 de datos de receptor y al procesador 1406, y el procesador 1464 de datos de receptor puede acoplarse al procesador 1406. El demodulador 1462 puede estar configurado para demodular señales moduladas recibidas de Ios transceptores 1452, 1454 y para proporcionar datos demodulados al procesador 1464 de datos de receptor. El procesador 1464 de datos de receptor puede estar configurado para extraer un mensaje o datos de audio de Ios datos demodulados y enviar el mensaje o Ios datos de audio al procesador 1406.
La estación 1400 base puede incluir un procesador 1482 de datos de transmisión y un procesador 1484 de múltiple entrada-múltiple salida (MIMO) de transmisión. El procesador 1482 de datos de transmisión puede estar acoplado al procesador 1406 y al procesador 1484 de MIMO de transmisión. El procesador 1484 de MIMO de transmisión puede estar acoplado a Ios transceptores 1452, 1454 y al procesador 1406. En algunas implementaciones. el procesador 1484 de MlMO de transmisión puede estar acoplado a la pasarela 1470 de medios. El procesador 1482 de datos de transmisión puede estar configurado para recibir Ios mensajes o Ios datos de audio del procesador 1406 y para codificar Ios mensajes o Ios datos de audio basándose en un esquema de codificación. tal como CDMA o multiplexación por división ortogonal de frecuencia (OFDM), como ejemplos ilustrativos no limitantes. El procesador 1482 de datos de transmisión puede proporcionar Ios datos codificados al procesador 1484 de MIMO de transmisión.
Los datos codificados pueden multiplexarse con otros datos, tal como datos de piloto, usando técnicas de CDMA u OFDM para generar datos multiplexados. Los datos multiplexados pueden a continuación modularse (es decir, mapearse en símbolos) por el procesador 1482 de datos de transmisión basándose en un esquema de modulación particular (por ejemplo, codificación por desplazamiento de fase binaria ("BPSK"), modulación por desplazamiento de fase cuaternaria ("Q s PK"), codificación por desplazamiento de fase M-aria ("M-PSK"), Modulación por Amplitud en Cuadratura M-aria ("M-QAM"), etc.) para generar símbolos de modulación. En una implementación particular, los datos codificados y otros datos pueden modularse usando diferentes esquemas de modulación. La tasa de datos, la codificación y la modulación para cada flujo de datos puede determinarse por instrucciones ejecutadas por el procesador 1406.
El procesador 1484 de MIMO de transmisión puede estar configurado para recibir los símbolos de modulación del procesador 1482 de datos de transmisión y puede procesar adicionalmente los símbolos de modulación y puede realizar formación de haces en los datos. Por ejemplo, el procesador 1484 de MIMO de transmisión puede aplicar pesos de formación de haces a los símbolos de modulación. Los pesos de formación de haces pueden corresponder a una o más antenas de la serie de antenas de las cuales se transmiten los símbolos de modulación.
Durante la operación, la segunda antena 1444 de la estación 1400 base puede recibir un flujo 1414 de datos. El segundo transceptor 1454 puede recibir el flujo 1414 de datos de la segunda antena 1444 y puede proporcionar el flujo 1414 de datos al demodulador 1462. El demodulador 1462 puede demodular señales moduladas del flujo 1414 de datos y proporcionar datos demodulados al procesador 1464 de datos de receptor. El procesador 1464 de datos de receptor puede extraer datos de audio de los datos demodulados y proporcionar los datos de audio extraídos al procesador 1406.
El procesador 1406 puede proporcionar los datos de audio al transcodificador 1410 para transcodificación. El decodificador 1438 del transcodificador 1410 puede decodificar los datos de audio de un primer formato en datos de audio decodificados y el codificador 1436 puede codificar los datos de audio decodificados en un segundo formato. En algunas implementaciones, el codificador 1436 puede codificar los datos de audio usando una tasa de datos superior (por ejemplo, convirtiendo de manera ascendente) o una tasa de datos inferior (por ejemplo, convirtiendo de manera descendente) que la recibida desde el dispositivo inalámbrico. En otras implementaciones, los datos de audio pueden no transcodificarse. Aunque se ilustra la transcodificación (por ejemplo, decodificación y codificación) como realizándose por un transcodificador 1410, las operaciones de transcodificación (por ejemplo, decodificación y codificación) pueden realizarse por múltiples componentes de la estación 1400 base. Por ejemplo, la decodificación puede realizarse por el procesador 1464 de datos de receptor y la codificación puede realizarse por el procesador 1482 de datos de transmisión. En otras implementaciones, el procesador 1406 puede proporcionar los datos de audio a la pasarela 1470 de medios para conversión a otro protocolo de transmisión, esquema de codificación o ambos. La pasarela 1470 de medios puede proporcionar los datos convertidos a otra estación base o red principal mediante la conexión 1460 de red.
El codificador 1436 puede estimar un retardo entre la trama de referencia (por ejemplo, la primera trama 131) y la trama objetivo (por ejemplo, la segunda trama 133). El codificador 1436 puede también estimar una compensación temporal entre el canal de referencia (por ejemplo, la primera señal 130 de audio) y el canal objetivo (por ejemplo, la segunda señal 132 de audio) basándose en el retardo y basándose en datos de retardo históricos. El codificador 1436 puede cuantificar y codificar el valor de compensación temporal (o el desplazamiento final) en una resolución diferente basándose en la tasa de muestra de C Ó d Ec para reducir (o minimizar) el impacto en el retardo global del sistema. En una implementación de ejemplo, el codificador puede estimar y usar la compensación temporal con una resolución superior para propósitos de mezcla descendente de múltiples canales en el codificador, sin embargo, el codificador puede cuantificar y transmitir en una resolución inferior para su uso en el decodificador. El decodificador 118 puede generar la primera señal 126 de salida y la segunda señal 128 de salida decodificando señales codificadas basándose en el indicador 164 de señal de referencia, el valor 162 de desplazamiento no causal, el parámetro 160 de ganancia o una combinación de los mismos. Los datos de audio codificados generados en el codificador 1436, tal como los datos transcodificados, pueden proporcionarse al procesador 1482 de datos de transmisión o a la conexión 1460 de red mediante el procesador 1406.
Los datos de audio transcodificados del transcodificador 1410 pueden proporcionarse al procesador 1482 de datos de transmisión para codificación de acuerdo con un esquema de modulación, tal como OFDM, para generar los símbolos de modulación. El procesador 1482 de datos de transmisión puede proporcionar los símbolos de modulación al procesador 1484 de MIMO de transmisión para procesamiento y formación de haces adicional. El procesador 1484 de MIMO de transmisión puede aplicar pesos de formación de haces y puede proporcionar los símbolos de modulación a una o más antenas de la serie de antenas, tal como la primera antena i 442 mediante el primer transceptor 1452. Por lo tanto, la estación 1400 base puede proporcionar un flujo 1416 de datos transcodificado, que corresponde al flujo 1414 de datos recibido del dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo 1416 de datos transcodificado puede tener un formato de codificación diferente, tasa de datos diferente o ambos, que el flujo 1414 de datos. En otras implementaciones, el flujo 1416 de datos transcodificado puede proporcionarse a la conexión 1460 de red para su transmisión a otra estación base o a una red principal.
La estación 1400 base puede incluir, por lo tanto, un dispositivo de almacenamiento legible por ordenador (por ejemplo, la memoria 1432) que almacena instrucciones que, cuando se ejecutan por un procesador (por ejemplo, el procesador 1406 o el transcodificador 1410), hacen que el procesador realice operaciones que incluyen estimar un retardo entre la trama de referencia y la trama objetivo. Las operaciones también incluyen estimar una compensación temporal entre el canal de referencia y el canal objetivo basándose en el retardo y basándose en datos de retardo históricos.
Los expertos en la materia apreciarían que los diversos bloques lógicos ilustrativos, configuraciones, módulos, circuitos y etapas de algoritmo descritos en relación con las realizaciones desveladas 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 ambos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y etapas ilustrativos en general en términos de su funcionalidad. Que tal funcionalidad se implemente como hardware o software ejecutable depende de la aplicación particular y de restricciones de diseño impuestas al sistema general. Los expertos en la materia pueden implementar la funcionalidad descrita de diversas formas para cada aplicación particular, pero tales decisiones de implementación no deberían interpretarse como que provocan un alejamiento del alcance de la presente divulgación siempre que la materia objeto resultante caiga dentro del alcance como se define por las reivindicaciones adjuntas.
Las etapas de un método o algoritmo descritas en conexión con las realizaciones divulgadas en el presente documento pueden incorporarse 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 memoria de acceso aleatorio (RAM), memoria de acceso aleatorio magnetoresistiva (MRAM), MRAM de transferencia de par de giro (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable borrable (EPROM), memoria de solo lectura eléctricamente programable borrable (EEPROM), registros, disco duro, un disco extraíble o un disco compacto memoria de solo lectura (CD-ROM). Un dispositivo de memoria ilustrativo está acoplado al procesador de manera que el procesador puede leer información desde, y escribir información en, el dispositivo de memoria. Como alternativa, el dispositivo de memoria puede ser integral al procesador. El procesador y el medio de almacenamiento pueden residir en un circuito integrado específico de la aplicación (ASIC). El ASIC puede residir en un dispositivo informático o en un terminal de usuario. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o un terminal de usuario.
La descripción anterior de las implementaciones desveladas se proporciona para posibilitar a un experto en la materia hacer o usar las implementaciones desveladas. Diversas modificaciones a estas implementaciones como será fácilmente evidente para los expertos en la materia, y los principios definidos en el presente documento pueden aplicarse a otras implementaciones sin alejarse del alcance de la divulgación. Por lo tanto, la presente divulgación no se pretende que esté limitada a las implementaciones mostradas en el presente documento, si no que esté de acuerdo con el alcance más amplio posible consistente con los principios y características novedosas como se define mediante las siguientes reivindicaciones.

Claims (16)

r e iv in d ic a c io n e s
1. Un método para codificación de señales de audio de múltiples canales en un codificador de un dispositivo electrónico, comprendiendo el método:
estimar valores de comparación, en el codificador, cada valor de comparación indicativo de una cantidad de desajuste temporal entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo;
suavizar, en el codificador, los valores de comparación para generar valores de comparación suavizados a corto plazo; suavizar, en el codificador, los valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado;
calcular, en el codificador, un valor de correlación cruzada entre los valores de comparación y los valores de comparación suavizados a corto plazo;
comparar, en el codificador, el valor de correlación cruzada con un umbral;
ajustar, en el codificador, los primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo, en respuesta a la determinación de que el valor de correlación cruzada supera el umbral;
estimar, en el codificador, un valor de desplazamiento de tentativa basándose en los segundos valores de comparación suavizados a largo plazo;
determinar, en el codificador, un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa;
desplazar de manera no causal, en el codificador, un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular; y
generar, en el codificador, al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado.
2. Un aparato para codificación de señales de audio de múltiples canales, que comprende:
un codificador configurado para:
estimar valores de comparación, cada valor de comparación indicativo de una cantidad de desajuste temporal entre una primera trama de referencia de un canal de referencia y una primera trama objetivo de un canal objetivo; suavizar los valores de comparación para generar valores de comparación suavizados a corto plazo;
suavizar los valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado;
calcular un valor de correlación cruzada entre los valores de comparación y los valores de comparación suavizados a corto plazo;
comparar el valor de correlación cruzada con un umbral;
ajustar los primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo, en respuesta a la determinación de que el valor de correlación cruzada supera el umbral; estimar un valor de desplazamiento de tentativa basándose en los segundos valores de comparación suavizados a largo plazo;
determinar un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa; desplazar de manera no causal un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular; y
generar al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado.
3. El aparato de la reivindicación 2, en donde el codificador está configurado para ajustar los primeros valores de comparación suavizados a largo plazo aumentando los valores de un subconjunto de los primeros valores de comparación suavizados a largo plazo.
4. El aparato de la reivindicación 3, en donde el codificador está configurado para ajustar los primeros valores de comparación suavizados a largo plazo aumentando al menos un valor de un primer índice, en donde el primer índice corresponde a un valor de desplazamiento no causal de una segunda trama objetivo, la segunda trama objetivo precede inmediatamente a la primera trama objetivo.
5. El aparato de la reivindicación 4, en donde el subconjunto de los primeros valores de comparación suavizados a largo plazo incluye un segundo índice y un tercer índice, en donde el segundo índice es menor que el primer índice en uno y el tercer índice es mayor que el primer índice en uno.
6. El aparato de la reivindicación 2, en donde el codificador está configurado para suavizar los valores de comparación para generar valores de comparación suavizados a corto plazo mediante filtración de respuesta finita al impulso, FIR, de los valores de comparación.
7. El aparato de la reivindicación 2, en donde Ios primeros valores de comparación suavizados a largo plazo están basados adicionalmente en una mezcla ponderada de Ios valores de comparación y segundos valores de comparación suavizados a largo plazo de al menos una trama anterior.
8. El aparato de la reivindicación 7, en donde el codificador está configurado para suavizar Ios valores de comparación para generar primeros valores de comparación suavizados a largo plazo mediante filtración de respuesta infinita al impulso, IIR, de Ios valores de comparación.
9. El aparato de la reivindicación 2,
en donde Ios valores de comparación son valores de correlación cruzada de canales de referencia submuestreados y correspondientes canales objetivo submuestreados.
10. Un método para codificación de señales de audio de múltiples canales en un codificador de un dispositivo electrónico, comprendiendo el método:
estimar valores de comparación, en el codificador, cada valor de comparación indicativo de una cantidad de desajuste temporal entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo;
suavizar, en el codificador, Ios valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado;
calcular, en el codificador, un parámetro de ganancia entre una segunda trama de referencia del canal de referencia y una correspondiente segunda trama objetivo del canal objetivo, el parámetro de ganancia basándose en una energía de la segunda trama de referencia y una energía de la segunda trama objetivo, en donde la segunda trama de referencia precede a la primera trama de referencia y la segunda trama objetivo precede a la primera trama objetivo; comparar, en el codificador, el parámetro de ganancia con un primer umbral;
en respuesta a la comparación, ajustar, en el codificador, un primer subconjunto de Ios primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo; estimar, en el codificador, un valor de desplazamiento de tentativa basándose en Ios segundos valores de comparación suavizados a largo plazo;
determinar, en el codificador, un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa;
desplazar de manera no causal, en el codificador, un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular; y
generar, en el codificador, al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado.
11. Un aparato para codificación de señales de audio de múltiples canales, que comprende:
un codificador configurado para:
estimar valores de comparación, cada valor de comparación indicativo de una cantidad de desajuste temporal entre una primera trama de referencia de un canal de referencia y una correspondiente primera trama objetivo de un canal objetivo;
suavizar Ios valores de comparación para generar primeros valores de comparación suavizados a largo plazo basándose en un parámetro de suavizado;
calcular un parámetro de ganancia entre una segunda trama de referencia del canal de referencia y una correspondiente segunda trama objetivo del canal objetivo, el parámetro de ganancia basándose en una energía de la segunda trama de referencia y una energía de la segunda trama objetivo, en donde la segunda trama de referencia precede a la primera trama de referencia y la segunda trama objetivo precede a la primera trama objetivo; comparar el parámetro de ganancia con un primer umbral;
en respuesta a la comparación, ajustar un primer subconjunto de Ios primeros valores de comparación suavizados a largo plazo para generar segundos valores de comparación suavizados a largo plazo;
estimar un valor de desplazamiento de tentativa basándose en Ios segundos valores de comparación suavizados a largo plazo;
determinar un valor de desplazamiento no causal basándose en el valor de desplazamiento de tentativa; desplazar de manera no causal un canal objetivo particular por el valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular; y generar al menos uno de un canal de banda media o un canal de banda lateral basándose en el canal de referencia particular y el canal objetivo particular ajustado.
12. El aparato de la reivindicación 11, en donde el codificador está configurado para ajustar el primer subconjunto de Ios primeros valores de comparación suavizados a largo plazo enfatizando un lado de desplazamiento positivo de Ios primeros valores de comparación suavizados a largo plazo en respuesta a la comparación de que el parámetro de ganancia es mayor que el primer umbral.
13. El aparato de la reivindicación 11, en donde el codificador está configurado para ajustar el primer subconjunto de Ios primeros valores de comparación suavizados a largo plazo des-enfatizando un lado de desplazamiento negativo de Ios primeros valores de comparación suavizados a largo plazo en respuesta a la comparación de que el parámetro de ganancia es mayor que el primer umbral.
14. El aparato de la reivindicación 2 u 11, en donde el codificador está integrado en un dispositivo móvil o una estación base.
15. El aparato de la reivindicación 2 u 11, que comprende un primer micrófono configurado para capturar la primera trama de referencia del canal de referencia; un segundo micrófono configurado para capturar la correspondiente primera trama objetivo del canal objetivo.
16. Un medio legible por ordenador no transitorio que comprende instrucciones que, cuando se ejecutan por un codificador, hacen que el codificador realice operaciones que comprenden el método de la reivindicación 1 o lO.
ES18779509T 2017-09-11 2018-09-10 Estimación de compensación temporal Active ES2889929T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762556653P 2017-09-11 2017-09-11
US16/115,129 US10891960B2 (en) 2017-09-11 2018-08-28 Temporal offset estimation
PCT/US2018/050242 WO2019051399A1 (en) 2017-09-11 2018-09-10 ESTIMATION OF TIME SHIFT

Publications (1)

Publication Number Publication Date
ES2889929T3 true ES2889929T3 (es) 2022-01-14

Family

ID=65632369

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18779509T Active ES2889929T3 (es) 2017-09-11 2018-09-10 Estimación de compensación temporal

Country Status (10)

Country Link
US (1) US10891960B2 (es)
EP (1) EP3682446B1 (es)
KR (1) KR102345910B1 (es)
CN (1) CN111095404B (es)
AU (1) AU2018329187B2 (es)
BR (1) BR112020004703A2 (es)
ES (1) ES2889929T3 (es)
SG (1) SG11202001284YA (es)
TW (1) TWI769304B (es)
WO (1) WO2019051399A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812310B1 (en) * 2019-10-17 2020-10-20 Sirius Xm Radio Inc. Method and apparatus for advanced OFDM triggering techniques
US11178447B1 (en) * 2020-05-05 2021-11-16 Twitch Interactive, Inc. Audio synchronization for audio and video streaming
US11900961B2 (en) * 2022-05-31 2024-02-13 Microsoft Technology Licensing, Llc Multichannel audio speech classification

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539357B1 (en) * 1999-04-29 2003-03-25 Agere Systems Inc. Technique for parametric coding of a signal containing information
US7240001B2 (en) * 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US7502743B2 (en) * 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US8437720B2 (en) * 2002-12-02 2013-05-07 Broadcom Corporation Variable-gain low noise amplifier for digital terrestrial applications
JP2007506986A (ja) * 2003-09-17 2007-03-22 北京阜国数字技術有限公司 マルチ解像度ベクトル量子化のオーディオcodec方法及びその装置
JPWO2005081229A1 (ja) * 2004-02-25 2007-10-25 松下電器産業株式会社 オーディオエンコーダ及びオーディオデコーダ
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
US7983922B2 (en) * 2005-04-15 2011-07-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating multi-channel synthesizer control signal and apparatus and method for multi-channel synthesizing
US7974713B2 (en) * 2005-10-12 2011-07-05 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Temporal and spatial shaping of multi-channel audio signals
GB2453117B (en) * 2007-09-25 2012-05-23 Motorola Mobility Inc Apparatus and method for encoding a multi channel audio signal
EP2429218A4 (en) 2009-05-07 2012-03-28 Huawei Tech Co Ltd DETECTION SIGNAL DELAY METHOD, SENSOR DEVICE AND ENCODER
US20120314776A1 (en) * 2010-02-24 2012-12-13 Nippon Telegraph And Telephone Corporation Multiview video encoding method, multiview video decoding method, multiview video encoding apparatus, multiview video decoding apparatus, and program
EP2834814B1 (en) * 2012-04-05 2016-03-02 Huawei Technologies Co., Ltd. Method for determining an encoding parameter for a multi-channel audio signal and multi-channel audio encoder
JP6012884B2 (ja) * 2012-12-21 2016-10-25 ドルビー ラボラトリーズ ライセンシング コーポレイション 知覚的基準に基づいてオブジェクト・ベースのオーディオ・コンテンツをレンダリングするためのオブジェクト・クラスタリング
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
US10693936B2 (en) * 2015-08-25 2020-06-23 Qualcomm Incorporated Transporting coded audio data
RU2728535C2 (ru) * 2015-09-25 2020-07-30 Войсэйдж Корпорейшн Способ и система с использованием разности долговременных корреляций между левым и правым каналами для понижающего микширования во временной области стереофонического звукового сигнала в первичный и вторичный каналы
US10152977B2 (en) * 2015-11-20 2018-12-11 Qualcomm Incorporated Encoding of multiple audio signals
US10045145B2 (en) 2015-12-18 2018-08-07 Qualcomm Incorporated Temporal offset estimation
US10115403B2 (en) * 2015-12-18 2018-10-30 Qualcomm Incorporated Encoding of multiple audio signals
US9978381B2 (en) * 2016-02-12 2018-05-22 Qualcomm Incorporated Encoding of multiple audio signals
US10304468B2 (en) 2017-03-20 2019-05-28 Qualcomm Incorporated Target sample generation

Also Published As

Publication number Publication date
SG11202001284YA (en) 2020-03-30
WO2019051399A1 (en) 2019-03-14
BR112020004703A2 (pt) 2020-09-15
CN111095404B (zh) 2021-12-17
US20190080703A1 (en) 2019-03-14
US10891960B2 (en) 2021-01-12
AU2018329187B2 (en) 2022-09-01
KR20200051609A (ko) 2020-05-13
KR102345910B1 (ko) 2021-12-30
EP3682446B1 (en) 2021-08-25
EP3682446A1 (en) 2020-07-22
TW201921338A (zh) 2019-06-01
AU2018329187A1 (en) 2020-03-05
TWI769304B (zh) 2022-07-01
CN111095404A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
US11094330B2 (en) Encoding of multiple audio signals
KR102230623B1 (ko) 다중의 오디오 신호들의 인코딩
ES2837406T3 (es) Estimación de desviación temporal
ES2803774T3 (es) Codificación de múltiples señales de audio
US11823689B2 (en) Stereo parameters for stereo decoding
US10891961B2 (en) Encoding of multiple audio signals
ES2889929T3 (es) Estimación de compensación temporal
US10885925B2 (en) High-band residual prediction with time-domain inter-channel bandwidth extension
ES2882904T3 (es) Predicción entre canales en el dominio del tiempo