ES2837406T3 - Estimación de desviación temporal - Google Patents
Estimación de desviación temporal Download PDFInfo
- Publication number
- ES2837406T3 ES2837406T3 ES16826222T ES16826222T ES2837406T3 ES 2837406 T3 ES2837406 T3 ES 2837406T3 ES 16826222 T ES16826222 T ES 16826222T ES 16826222 T ES16826222 T ES 16826222T ES 2837406 T3 ES2837406 T3 ES 2837406T3
- Authority
- ES
- Spain
- Prior art keywords
- value
- offset
- channel
- comparison
- audio signal
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 137
- 238000009499 grossing Methods 0.000 claims abstract description 102
- 230000007774 longterm Effects 0.000 claims abstract description 85
- 230000001364 causal effect Effects 0.000 claims abstract description 68
- 230000008859 change Effects 0.000 claims description 56
- 238000006073 displacement reaction Methods 0.000 claims description 23
- 230000007704 transition Effects 0.000 claims description 17
- 238000005070 sampling Methods 0.000 claims description 11
- 230000003044 adaptive effect Effects 0.000 claims description 8
- 230000001052 transient effect Effects 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 description 379
- 230000004044 response Effects 0.000 description 104
- 230000000875 corresponding effect Effects 0.000 description 89
- 230000002123 temporal effect Effects 0.000 description 59
- 238000010586 diagram Methods 0.000 description 25
- 230000003111 delayed effect Effects 0.000 description 24
- 238000012952 Resampling Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 239000000203 mixture Substances 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 7
- 238000007670 refining Methods 0.000 description 7
- 238000005314 correlation function Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
- H04S7/307—Frequency adjustment, e.g. tone control
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S1/00—Two-channel systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/01—Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/03—Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/15—Aspects of sound capture and related signal processing for recording or reproduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2420/00—Techniques used stereophonic systems covered by H04S but not provided for in its groups
- H04S2420/03—Application of parametric coding in stereophonic audio systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Circuit For Audible Band Transducer (AREA)
- Stereophonic System (AREA)
- Telephone Function (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Un procedimiento, que comprende: estimar valores de comparación en un codificador (114), con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente; suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado; estimar un valor de desplazamiento tentativo basándose en los valores de comparación suavizados; desplazar de forma no causal un canal objetivo particular mediante un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo; 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; caracterizado por que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada.
Description
DESCRIPCIÓN
Estimación de desviación temporal
I. Reivindicación de prioridad
[0001] La presente solicitud reivindica el beneficio de la prioridad de la solicitud provisional de la patente estadounidense n.° 62/269,796 en copropiedad, titulada "TEMPORAL OFFSET ESTIMATION [Estimación de desviación temporal]", presentada el 18 de diciembre de 2015, y la solicitud no provisional de la patente estadounidense n.° 15/372,802, titulada "TEMPORAL OFFSET ESTIMATION [Estimación de desviación temporal]", presentada el 8 de diciembre de 2016.
II. Campo
[0002] La presente divulgación está relacionada en general con la estimación de una desviación temporal de múltiples canales.
III. Descripción de la técnica relacionada
[0003] Los avances en la tecnología han dado como resultado dispositivos informáticos más pequeños y más potentes. Por ejemplo, existe en la actualidad una variedad de dispositivos informáticos personales portátiles, incluyendo teléfonos inalámbricos tales como teléfonos móviles e inteligentes, tablets electrónicas y ordenadores portátiles, que son pequeños, ligeros y fáciles de transportar por los usuarios. Estos dispositivos pueden comunicar paquetes de voz y datos a través de redes inalámbricas. Además, muchos de estos dispositivos incorporan funcionalidades adicionales, tales como una cámara fotográfica digital, una cámara de vídeo digital, una grabadora digital y un reproductor de archivos de audio. Asimismo, dichos dispositivos pueden procesar instrucciones ejecutables, incluyendo aplicaciones de software, tales como una aplicación de navegador web, que puede usarse para acceder a Internet. Como tal, estos dispositivos pueden incluir capacidades informáticas significativas.
[0004] 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. En consecuencia, una segunda señal de audio recibida desde el segundo micrófono se puede retardar en relación con una primera señal de audio recibida desde el primer micrófono. En la codificación estéreo, las señales de audio de los micrófonos se pueden codificar 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 de la recepción de la segunda señal de audio en relación con la primera señal de audio. La desalineación (o "desviación temporal") de la primera señal de audio con respecto a la segunda señal de audio puede aumentar la magnitud del canal lateral. Debido al incremento en la magnitud del canal lateral, puede ser necesario un mayor número de bits para codificar el canal lateral.
[0005] Además, diferentes tipos de tramas pueden hacer que el dispositivo informático genere diferentes desviaciones temporales o estimaciones de desplazamiento. Por ejemplo, el dispositivo informático puede determinar que una trama sonora de la primera señal de audio está desviada por una trama sonora correspondiente en la segunda señal de audio una cantidad particular. Sin embargo, debido a una cantidad relativamente alta de ruido, el dispositivo informático puede determinar que una trama de transición (o trama sorda) de la primera señal de audio está desviada por una trama de transición correspondiente (o trama sorda correspondiente) de la segunda señal de audio una cantidad diferente. Las variaciones en las estimaciones de desplazamiento pueden provocar la repetición de la muestra y la omisión de distorsiones en los límites de la trama. Además, la variación en las estimaciones de desplazamiento puede dar como resultado energías de canal lateral más altas, lo cual puede reducir la eficiencia de codificación.
[0006] El documento US-A-2013/301835 describe un procedimiento y un dispositivo para determinar una diferencia de tiempo entre canales de una señal de audio multicanal que tiene al menos dos canales.
[0007] En el documento US-A-2013/301835, se realiza una determinación, en un número de instancias de tiempo consecutivas, de la correlación entre canales basada en una función de correlación cruzada que implica al menos dos canales diferentes de la señal de audio multicanal. Cada valor de la correlación entre canales está asociado con un valor correspondiente de la diferencia de tiempo entre canales. Un umbral de correlación entre canales adaptativo se determina de forma adaptativa basándose en el suavizado adaptativo de la correlación entre canales en el tiempo. A continuación, se evalúa un valor actual de la correlación entre canales en relación con el umbral de correlación entre canales adaptativa para determinar si el valor actual correspondiente de la diferencia de tiempo entre canales es relevante. Basándose en el resultado de esta evaluación, se determina un valor actualizado de la diferencia de tiempo entre canales.
IV. Breve explicación
[0008] De acuerdo con un primer aspecto de la presente invención, se proporciona un procedimiento que comprende estimar valores de comparación en un codificador, con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente, suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado, estimar un valor de desplazamiento tentativo basado en los valores de comparación suavizados, cambiar de forma no causal un canal objetivo particular por un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo, y generar al menos uno de un canal de banda media o un canal de banda lateral basado en el canal de referencia particular y el canal objetivo particular, en el que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada.
[0009] De acuerdo con un segundo aspecto de la presente invención, se proporciona un aparato que comprende medios para estimar valores de comparación, con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente, medios para suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado, medios para estimar un valor de desplazamiento tentativo basado en los valores de comparación suavizados, medios para cambiar de forma no causal un canal objetivo particular por un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desajuste tentativo, y medios para generar al menos uno de un canal de banda media o un canal de banda lateral basado en el canal de referencia particular y el canal objetivo particular ajustado, en el que un valor del parámetro de suavizado se ajusta basándose en los indicadores de energía a corto plazo de los canales de entrada y los indicadores de energía a largo plazo de los canales de entrada.
[0010] De acuerdo con un tercer aspecto de la presente invención, se proporciona un medio legible por ordenador no transitorio que comprende instrucciones que, cuando son ejecutadas por un codificador, hacen que el codificador realice operaciones que comprenden estimar valores de comparación, con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente, suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado, estimar un valor de desplazamiento tentativo basado en los valores de comparación suavizados, no cambiar causalmente un canal objetivo particular por un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está temporalmente alineado con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo, y generar al menos uno de un canal de banda media o un canal de banda lateral basado en el canal de referencia particular y el canal objetivo particular ajustado, en el que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada.
[0011] La invención se define en las reivindicaciones adjuntas.
[0012] Cualquier ejemplo y modo de realización de la descripción que no esté dentro del alcance de las reivindicaciones no forma parte de la invención reivindicada.
[0013] Cualquier ejemplo que quede fuera del alcance de las reivindicaciones se proporciona únicamente con fines ilustrativos.
V. Breve descripción de las figuras
[0014]
La FIG. 1 es un diagrama de bloques de un ejemplo ilustrativo particular de un sistema que incluye un dispositivo que es operativo para codificar múltiples canales;
La FIG. 2 es un diagrama que ilustra otro ejemplo de un sistema que incluye el dispositivo de la FIG. 1;
La FIG. 3 es un diagrama que ilustra ejemplos particulares de muestras que pueden ser codificadas por el dispositivo de la FIG. 1;
La FIG. 4 es un diagrama que ilustra ejemplos particulares de muestras que pueden ser codificadas por el dispositivo de la FIG. 1;
La FIG. 5 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales;
La FIG. 6 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 7 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 8 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 9A es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 9B es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 9C es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 10A es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales;
La FIG. 10B es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales;
La FIG. 11 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 12 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 13 es un diagrama de flujo que ilustra un procedimiento particular para codificar múltiples canales;
La FIG. 14 es un diagrama que ilustra otro ejemplo de un sistema que es operativo para codificar múltiples canales; La FIG. 15 representa gráficos que ilustran valores de comparación para tramas sonoras, tramas de transición y tramas sordas;
La FIG. 16 es un diagrama de flujo que ilustra un procedimiento para estimar una desviación temporal entre el audio capturado en múltiples micrófonos;
La FIG. 17 es un diagrama para expandir selectivamente un rango de búsqueda de valores de comparación usados para la estimación de desplazamiento;
La FIG. 18 representa gráficos que ilustran la expansión selectiva de un rango de búsqueda para valores de comparación usados para la estimación de desplazamiento;
La FIG. 19 es un diagrama de flujo que ilustra un procedimiento de desplazamiento no causal de un canal;
La FIG. 20 es un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo que es operativo para codificar múltiples canales; y
La FIG. 21 es un diagrama de bloques de una estación base que es operativa para codificar múltiples canales.
VI. Descripción detallada
[0015] Se divulgan sistemas y dispositivos que son operativos 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 simultáneamente 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 audio multicanal) pueden generarse sintéticamente (por ejemplo, artificialmente) multiplexando varios canales de audio que se graban al mismo tiempo o en momentos diferentes. Como ejemplos ilustrativos, la grabación o multiplexación simultánea de los canales de audio puede dar como resultado una configuración de 2 canales (es decir, estéreo: izquierda y derecha), una configuración de canal 5.1 (izquierda, derecha, centro, envolvente izquierdo, envolvente derecho y canales de énfasis de baja frecuencia (LFE)), una configuración de canal 7.1, una configuración de canal 7.1+4, una configuración de canal 22.2, o una configuración de canal N.
[0016] Los dispositivos de captura de audio en salas de teleconferencia (o salas de telepresencia) pueden incluir múltiples micrófonos que adquieren audio espacial. El audio espacial puede incluir voz, así como audio de fondo que se codifica y transmite. La voz/audio de una fuente determinada (por ejemplo, un hablante) puede llegar a los múltiples micrófonos en diferentes momentos dependiendo de cómo estén dispuestos los micrófonos y de dónde se localiza la fuente (por ejemplo, el hablante) con respecto a los micrófonos y 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 tanto, un sonido emitido por la fuente de sonido puede llegar al primer micrófono antes que el segundo micrófono. El dispositivo puede recibir una primera señal de audio a través
del primer micrófono y puede recibir una segunda señal de audio a través del segundo micrófono.
[0017] La codificación de lado medio (MS) y la codificación estéreo paramétrica (PS) son técnicas de codificación estéreo que pueden proporcionar una eficacia mejorada respecto a las técnicas de codificación mono dual. En la codificación mono dual, el canal (o señal) izquierdo (L) y el canal (o señal) derecho (R) se codifican independientemente sin usar la correlación entre canales. La codificación MS reduce la redundancia entre un par de canales L/R correlacionados al transformar el canal izquierdo y el canal derecho en un canal de suma y 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 están codificadas en forma de onda en la codificación 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 secundarios. Los parámetros secundarios pueden indicar una diferencia de intensidad entre canales (IID), una diferencia de fase entre canales (IPD), una diferencia de tiempo entre canales (ITD), etc. La señal de suma se codifica en forma de onda y se transmite junto con los parámetros secundarios. En un sistema híbrido, el canal lateral puede estar codificado en forma de onda en las bandas inferiores (por ejemplo, menos de 2 kilohercios (kHz)) y el PS puede estar codificado en las bandas superiores (por ejemplo, mayor o igual a 2 kHz) donde la preservación de la fase entre canales es perceptivamente menos crítica.
[0018] La codificación MS y la codificación PS pueden realizarse en el dominio de frecuencia o en el dominio de subbanda. En algunos ejemplos, el canal izquierdo y el canal derecho pueden no estar correlacionados. Por ejemplo, el canal izquierdo y el canal derecho pueden incluir señales sintéticas no correlacionadas. Cuando el canal izquierdo y el canal derecho no están correlacionados, la eficacia de codificación de la codificación MS, la codificación PS, o ambas, pueden aproximarse a la eficacia de codificación de la codificación mono dual.
[0019] Dependiendo de la configuración de grabación, puede haber un desplazamiento temporal entre un canal izquierdo y un canal derecho, así como otros efectos espaciales tales como el eco y la reverberación de la sala. Si el desplazamiento temporal y el desajuste de fase entre los canales no se compensan, el canal de suma y el canal de diferencia pueden contener energías comparables que reducen las ganancias de codificación asociadas con las técnicas MS o PS. La reducción en las ganancias de codificación se puede basar 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 la codificación MS en determinadas tramas donde los canales están temporalmente desplazados, pero están altamente correlacionados. En la codificación estéreo, se puede generar 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.
[0020] En algunos casos, el canal medio y el canal lateral se pueden generar 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 referirse al modo de realización de un algoritmo de "mezcla descendente". El proceso inverso de generar el canal izquierdo y el canal derecho desde el canal medio y el canal lateral basándose en la fórmula 1 o la fórmula 2 se puede referir al modo de realización de un algoritmo de "mezcla ascendente".
[0021] Un enfoque ad-hoc usado para elegir entre la codificación MS o la codificación mono dual para una trama particular puede incluir generar una señal media y una señal lateral, calcular las energías de la señal media y la señal lateral, y determinar si se realiza una codificación MS en las energías. Por ejemplo, la codificación MS se puede realizar en respuesta a la determinación de que la proporción de energías de la señal lateral y la señal media es inferior a un umbral. A modo ilustrativo, si un canal derecho se desplaza al menos por primera vez (por ejemplo, aproximadamente 0,001 segundos o 48 muestras a 48 kHz), una primera energía de la señal media (correspondiente a una suma de la señal izquierda y la señal derecha) puede ser comparable a una segunda energía del canal lateral (correspondiente a una diferencia entre la señal izquierda y la señal derecha) para tramas de voz. Cuando la primera energía es comparable a la segunda energía, se puede usar un mayor número de bits para codificar el canal lateral, reduciendo de este modo la eficacia de codificación de la codificación MS en relación con la codificación mono dual. Por tanto, la codificación mono dual se puede usar cuando la primera energía es comparable a la segunda energía (por ejemplo, cuando la proporció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 la codificación MS y la codificación mono dual para una trama particular se puede hacer basándose en una comparación de un umbral y valores de correlación cruzada normalizados del canal izquierdo y el canal derecho.
[0022] En algunos ejemplos, el codificador puede determinar un valor de desplazamiento temporal indicativo de un desplazamiento temporal de la primera señal de audio con respecto a la segunda señal de audio. El valor de desajuste puede corresponder a una cantidad de retardo temporal entre la recepción de la primera señal de audio en el primer micrófono y la recepción de la segunda señal de audio en el segundo micrófono. Además, el codificador puede determinar el valor de desajuste trama por trama, por ejemplo, basándose en cada trama de voz/audio de 20 milisegundos (ms). Por ejemplo, el valor de desajuste puede corresponder a una cantidad de tiempo en el que una segunda trama de la segunda señal de audio se retarda con respecto a una primera trama de la primera señal de audio. De forma alternativa, el valor de desajuste puede corresponder a una cantidad de tiempo en la que la primera trama de la primera señal de audio se retarda con respecto a la segunda trama de la segunda señal de audio.
[0023] Cuando la fuente de sonido está más cerca del primer micrófono que del segundo micrófono, las tramas de la segunda señal de audio se pueden retardar en relación con las tramas de la primera señal de audio. En este caso, la primera señal de audio puede denominarse "señal de audio de referencia" o "canal de referencia" y la segunda señal de audio retardada puede denominarse "señal de audio objetivo" o "canal objetivo". De forma alternativa, cuando la fuente de sonido está más cerca del segundo micrófono que del primer micrófono, las tramas de la primera señal de audio se pueden retardar en relación con las tramas de la segunda señal de audio. En este caso, la segunda señal de audio puede denominarse señal de audio de referencia o canal de referencia y la primera señal de audio retardada puede denominarse señal de audio objetivo o canal objetivo.
[0024] Dependiendo de dónde se localicen las fuentes de sonido (por ejemplo, los hablantes) en una sala de conferencias o telepresencia o cómo cambie la posición de la fuente de sonido (por ejemplo, el hablante) en relación con los micrófonos, el canal de referencia y el canal objetivo pueden cambiar de una trama a otra; de forma similar, el valor de retardo temporal también puede cambiar de una trama a otra. Sin embargo, en algunas implementaciones, el valor de desajuste siempre puede ser positivo para indicar una cantidad de retardo del canal "objetivo" en relación con el canal de "referencia". Además, el valor de desajuste puede corresponder a un valor de "desplazamiento no causal" mediante el cual el canal objetivo retardado se "retrae" en el tiempo de modo que el canal objetivo esté alineado (por ejemplo, con la alineación 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.
[0025] El codificador puede determinar el valor de desajuste basado en el canal de audio de referencia y una pluralidad de valores de desajuste aplicados al canal de audio objetivo. Por ejemplo, una primera trama del canal de audio de referencia, X, puede recibirse en un primer momento (mi). Una primera trama particular del canal de audio objetivo, Y, puede recibirse en un segundo tiempo (m) correspondiente a un primer valor de desajuste, por ejemplo, desplazamiento1 = n1 - mi. Además, una segunda trama del canal de audio de referencia puede recibirse por tercera vez (m2). Una segunda trama particular del canal de audio objetivo puede recibirse en un cuarto momento (n2) correspondiente a un segundo valor de desajuste, por ejemplo, desplazamiento2= n2-m2.
[0026] El dispositivo puede realizar un algoritmo de entramado o de almacenamiento en memoria intermedia para generar una trama (por ejemplo, muestras de 20 ms) a una primera velocidad de muestreo (por ejemplo, velocidad de muestreo de 32 kHz (es decir, 640 muestras por trama)). El codificador puede, en respuesta a la determinación de que una primera trama de la primera señal de audio y una segunda trama de la segunda señal de audio llegan al mismo tiempo al dispositivo, estimar un valor de desajuste (por ejemplo, desplazamiento^ igual a cero muestras. Un canal izquierdo (por ejemplo, correspondiente a la primera señal de audio) y un canal derecho (por ejemplo, correspondiente a la segunda señal de audio) pueden estar alineados temporalmente. 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 del micrófono).
[0027] En algunos ejemplos, el canal izquierdo y el canal derecho pueden no estar alineados temporalmente debido a varias razones (por ejemplo, una fuente de sonido, tal como un hablante, puede estar más cerca de uno de los micrófonos que otro y los dos los micrófonos pueden estar a más de un umbral (por ejemplo, 1-20 centímetros) de distancia). Una localización de la fuente de sonido en relación con 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.
[0028] En algunos ejemplos, el momento de llegada de las señales de audio a los micrófonos desde múltiples fuentes de sonido (por ejemplos, hablantes) puede variar cuando los múltiples hablantes están hablando de forma alternativa (por ejemplo, sin superposición). En dicho caso, el codificador puede ajustar dinámicamente un valor de desajuste temporal basado en el hablante para identificar el canal de referencia. En algunos otros ejemplos, los múltiples hablantes pueden estar hablando al mismo tiempo, lo cual puede dar como resultado valores de desajuste temporal variables dependiendo de quién es el hablante que habla más fuerte, el más cercano al micrófono, etc.
[0029] 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 (por ejemplo, ninguna) correlación. Debe entenderse que los ejemplos descritos en el presente documento son ilustrativos y pueden ser instructivos para determinar una relación entre la primera señal de audio y la segunda señal de audio en situaciones similares o
diferentes.
[0030] 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 basado 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 mayor similitud temporal (o menor diferencia) entre la primera trama de la primera señal de audio y una primera trama correspondiente de la segunda señal de audio.
[0031] El codificador puede determinar el valor de desajuste final refinando, en múltiples etapas, una serie de valores de desajuste estimados. Por ejemplo, el codificador puede estimar primero un valor de desajuste "tentativo" basado en valores de comparación generados a partir de versiones estéreo preprocesadas y remuestreadas 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 "tentativo" estimado. El codificador puede determinar un segundo valor de desajuste "interpolado" estimado basado 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 mayor similitud temporal (o menor diferencia) que los valores de comparación interpolados restantes y el primer valor de desajuste "tentativo" 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 al valor de desajuste final de una trama previa (por ejemplo, una trama de la primera señal de audio que precede la primera trama), entonces el valor de desajuste "interpolado" de la trama actual se "modifica" aún más 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 previa. El tercer valor de desajuste "modificado" estimado está además condicionado a estimar el valor de desajuste final al limitar cualquier cambio espurio en el valor de desajuste entre tramas y se controla además para no cambiar de 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.
[0032] En algunos ejemplos, el codificador puede abstenerse de cambiar 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 en un valor particular (por ejemplo, 0) que indica que no hay desplazamiento temporal basado en el valor de desajuste "interpolado" o "modificado" estimado de la primera trama y un valor de desajuste final o "interpolado" o "modificado" estimado correspondiente en una trama particular que precede la primera trama. A modo de ilustración, el codificador puede establecer el valor de desajuste final de la trama actual (por ejemplo, la primera trama) para indicar que no hay desplazamiento temporal, es decir, desplazamiento1 = 0, en respuesta a la determinación de que uno de los valores de desajuste "tentativos" o "interpolados" o "modificados" estimados de la trama actual es positivo y el otro de los valores de desajuste estimados "tentativos" o "interpolados" o "modificados" o "finales" de la trama previa (por ejemplo, la trama que precede la primera trama) es negativo. De forma alternativa, el codificador puede establecer también el valor de desajuste final de la trama actual (por ejemplo, la primera trama) para indicar que no hay desplazamiento temporal, es decir, desplazamiento1 = 0, en respuesta a la determinación de que uno de los valores de desajuste "tentativos" o "interpolados" o "modificados" estimados de la trama actual es negativo y el otro de los valores de desajuste estimados "tentativos" o "interpolados" o "modificados" o "finales" de la trama previa (por ejemplo, la trama que precede la primera trama) es positivo.
[0033] El codificador puede seleccionar una trama de la primera señal de audio o la segunda señal de audio como "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". De forma 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 una señal de "referencia" y que la primera señal de audio es la señal "objetivo".
[0034] El codificador puede estimar una ganancia relativa (por ejemplo, un parámetro de ganancia relativa) asociada con la señal de referencia y 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 igualar los niveles de energía o potencia de la primera señal de audio en relación con la segunda señal de audio que es desviada por el valor de desajuste no causal (por ejemplo, un valor absoluto del valor de desajuste final). De forma 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 igualar los niveles de potencia de la primera señal de audio desplazada no causal en relación con la segunda señal de audio. En algunos ejemplos, el codificador puede estimar un valor de ganancia para normalizar o igualar los niveles de energía o potencia de la señal de "referencia" en relación con 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) basado en la señal de referencia relativa a la señal objetivo (por ejemplo, la
señal objetivo no desplazada).
[0035] 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 del desajuste no causal, y el parámetro de ganancia relativa. La señal lateral puede corresponder a una diferencia entre las primeras muestras de la primera trama de la primera señal de audio y las 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. Se pueden usar menos bits para codificar la señal del 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 recibe 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 indicador de señal o canal de referencia o una combinación de los mismos.
[0036] 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 la primera trama. Determinados parámetros de banda baja, parámetros de banda alta, o una combinación de los mismos, de una o más tramas anteriores se pueden usar para codificar una señal media, una señal lateral, o ambas, de la primera trama. La codificación de la señal media, la señal lateral, o ambas, basada 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 entre canales. 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 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 FCB, un parámetro de modo de codificación, un parámetro de actividad de voz, un parámetro de estimación de ruido, un parámetro de relación señal/ruido, un parámetro de formantes, un parámetro de decisión de voz/música, el desplazamiento no causal, el parámetro de ganancia entre canales, 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 señal o canal de referencia, o una combinación de los mismos.
[0037] Con referencia a la FIG. 1, se divulga un ejemplo ilustrativo particular de un sistema y se designa en general 100. El sistema 100 incluye un primer dispositivo 104 acoplado de forma comunicativa, a través de 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 cableadas, o una combinación de las mismas.
[0038] El primer dispositivo 104 puede incluir un codificador 114, un transmisor 110, una o más interfaces de entrada 112, o una combinación de los mismos. Una primera interfaz de entrada de las interfaces de entrada 112 puede estar acoplada a un primer micrófono 146. Una segunda interfaz de entrada de la interfaz o interfaces de entrada 112 puede estar acoplada a un segundo micrófono 148. El codificador 114 puede incluir un ecualizador temporal 108 y puede configurarse para mezclar de forma descendente y codificar múltiples señales de audio, como se describe en el presente documento. El primer dispositivo 104 también puede incluir una memoria 153 configurada para almacenar datos de análisis 190. El segundo dispositivo 106 puede incluir un descodificador 118. El descodificador 118 puede incluir un equilibrador temporal 124 que está configurado para mezclar de forma ascendente y renderizar los múltiples canales. El segundo dispositivo 106 puede estar acoplado a un primer altavoz 142, un segundo altavoz 144, o ambos.
[0039] Durante el funcionamiento, el primer dispositivo 104 puede recibir una primera señal de audio 130 (por ejemplo, un primer canal) a través de la primera interfaz de entrada desde el primer micrófono 146 y puede recibir una segunda señal de audio 132 (por ejemplo, un segundo canal) a través de la segunda interfaz de entrada desde el segundo micrófono 148. Como se usa en el presente documento, los términos "señal" y "canal" pueden usarse de forma intercambiable. La primera señal de audio 130 puede corresponder a una de un canal derecho o un canal izquierdo. La segunda señal de audio 132 puede corresponder al otro del canal derecho o el canal izquierdo. En el ejemplo de la FIG. 1, la primera señal de audio 130 es un canal de referencia y la segunda señal de audio 132 es un canal objetivo. Por tanto, de acuerdo con las implementaciones descritas en el presente documento, la segunda señal de audio 132 puede ajustarse para alinearse temporalmente con la primera señal de audio 130. Sin embargo, como se describe a continuación, en otras implementaciones, la primera señal de audio 130 puede ser el canal objetivo y la segunda señal de audio 132 puede ser el canal de referencia.
[0040] Una fuente de sonido 152 (por ejemplo, un usuario, un altavoz, ruido ambiental, un instrumento musical, etc.) puede estar más cerca del primer micrófono 146 que del segundo micrófono 148. Por consiguiente, se puede recibir una señal de audio de la fuente de sonido 152 en la interfaz o interfaces de entrada 112 a través del primer micrófono 146 en un momento anterior que a través del segundo micrófono 148. Este retardo natural en la adquisición de la señal multicanal a través de los múltiples micrófonos puede introducir un desplazamiento temporal entre la primera señal de audio 130 y la segunda señal de audio 132.
[0041] El ecualizador temporal 108 puede configurarse para estimar una desviación temporal entre el audio
capturado en los micrófonos 146, 148. La desviación temporal puede estimarse basándose en un retardo entre un primera trama 131 (por ejemplo, una "trama de referencia") de la primera señal de audio 130 y un segunda trama 133 (por ejemplo, una "trama objetivo") de la segunda señal de audio 132, donde la segunda trama 133 incluye un contenido sustancialmente similar al de la primera trama 131. Por ejemplo, el ecualizador temporal 108 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 en función del retardo de una trama con respecto a la otra. Basándose en la correlación cruzada, el ecualizador temporal 108 puede determinar el retardo (por ejemplo, retardo) entre la primera trama 131 y la segunda trama 133. El ecualizador temporal 108 puede estimar la desviación temporal entre la primera señal de audio 130 y la segunda señal de audio 132 basándose en el retardo y los datos históricos de retardo.
[0042] Los datos históricos pueden incluir retardos entre las tramas capturadas desde el primer micrófono 146 y las tramas correspondientes capturadas desde el segundo micrófono 148. Por ejemplo, el ecualizador temporal 108 puede determinar una correlación cruzada (por ejemplo, un retardo) entre las tramas previas asociadas con la primera señal de audio 130 y las tramas correspondientes asociadas con la segunda señal de audio 132. Cada retardo puede representarse mediante 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 de audio 130 y una trama correspondiente de la segunda señal de audio 132. De acuerdo con una implementación, los valores de comparación para tramas anteriores pueden almacenarse en la memoria 153. Un 190 más suave del ecualizador temporal 108 puede "suavizar" (o promediar) los valores de comparación en un conjunto de tramas a largo plazo y utilizar los valores de comparación suavizados a largo plazo para estimar una desviación temporal (por ejemplo, "desplazamiento") entre la primera señal de audio 130 y la segunda señal de audio 132.
[0043] 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) a k=T_MAX (un desplazamiento máximo). El suavizado se puede realizar de manera que un valor de comparación a largo plazo CompValLTN(k) esté representado por CompValLTN(k) = f(CompValN(k), CompValN-1(k), CompValLTN-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 CompValLTN(k) = g(CompValN(k), CompValN-1(k), CompValN-2(k),...). Las funciones F o G pueden ser simples filtros de respuesta de impulso finito (FIR) o filtros de respuesta de impulso infinito (IIR), respectivamente. Por ejemplo, la función g puede ser un filtro IIR de un solo toque, de modo que el valor de comparación a largo plazo CompValLTN(k) esté representado por CompValLTN(k) = (1 - a) * CompVaN (k), +(a) * CompValLTN-1(k), donde a e (0,1,0). Por lo tanto, el valor de comparación a largo plazo CompValLTN(k) puede basarse en una mezcla ponderada del valor de comparación instantáneo CompVaN (k) en la trama N y los valores de comparación a largo plazo CompValLTN-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 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.
[0044] Las técnicas de suavizado descritas anteriormente pueden normalizar sustancialmente la estimación de desplazamiento entre tramas sonoras, tramas sordas y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de la muestra y la omisión de distorsiones en los límites de la trama. Además, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, lo cual puede mejorar la eficiencia de codificación.
[0045] El ecualizador temporal 108 puede determinar un valor de desajuste final 116 (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 de audio 130 (por ejemplo, "de referencia") en relación con la segunda señal de audio 132 (por ejemplo, "objetivo"),. El valor de desajuste final 116 puede basarse en el valor de comparación instantáneo CompVaN(k) y la comparación a largo plazo CompValLTN-1(k). Por ejemplo, la operación de suavizado descrita anteriormente se puede realizar en un valor de desajuste tentativo, 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 FIG. 5. El primer valor de desajuste 116 puede basarse en el valor de desajuste tentativo, el valor de desajuste interpolado y el valor de desajuste modificado, como se describe con respecto a la FIG. 5. Un primer valor (por ejemplo, un valor positivo) del valor de desajuste final 116 puede indicar que la segunda señal de audio 132 está retardada en relación con la primera señal de audio 130. Un segundo valor (por ejemplo, un valor negativo) del valor de desajuste final 116 puede indicar que la primera señal de audio 130 está retardada en relación con la segunda señal de audio 132. Un tercer valor (por ejemplo, 0) del valor de desajuste final 116 puede indicar que no hay retardo entre la primera señal de audio 130 y la segunda señal de audio 132.
[0046] En algunas implementaciones, el tercer valor (por ejemplo, 0) del valor de desajuste final 116 puede indicar que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 ha cambiado de signo. Por ejemplo, una primera trama particular de la primera señal de audio 130 puede preceder la primera trama 131. La primera trama particular y una segunda trama particular de la segunda señal de audio 132 pueden corresponder al mismo sonido emitido por la fuente de sonido 152. El retardo entre la primera señal de audio 130 y la segunda señal de audio 132 puede cambiar 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. De forma alternativa, el retardo entre la primera
señal de audio 130 y la segunda señal de audio 132 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 temporal 108 puede establecer el valor de desajuste final 116 para indicar el tercer valor (por ejemplo, 0) en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 ha cambiado de signo.
[0047] El ecualizador temporal 108 puede generar un indicador de canal de referencia 164 basado en el valor de desajuste final 116. Por ejemplo, el ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desajuste final 116 indica un primer valor (por ejemplo, un valor positivo), generar el indicador de señal de referencia 164 para tener un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 es una señal de "referencia". El ecualizador temporal 108 puede determinar que la segunda señal de audio 132 corresponde a una señal "objetivo" en respuesta a la determinación de que el valor de desajuste final 116 indica el primer valor (por ejemplo, un valor positivo). De forma alternativa, el ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desajuste final 116 indica un segundo valor (por ejemplo, un valor negativo), generar el indicador de señal de referencia 164 para tener un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio 132 es la señal de "referencia". El ecualizador temporal 108 puede determinar que la primera señal de audio 130 corresponde a la señal "objetivo" en respuesta a la determinación de que el valor de desajuste final 116 indica el segundo valor (por ejemplo, un valor negativo). El ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desajuste final 116 indica un tercer valor (por ejemplo, 0), generar el indicador de señal de referencia 164 para tener un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 es una señal de "referencia". El ecualizador temporal 108 puede determinar que la segunda señal de audio 132 corresponde a una señal "objetivo" en respuesta a la determinación de que el valor de desajuste final 116 indica el tercer valor (por ejemplo, 0). De forma alternativa, el ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desajuste final 116 indica un tercer valor (por ejemplo, 0), generar el indicador de señal de referencia 164 para tener un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio 132 es una señal de "referencia". El ecualizador temporal 108 puede determinar que la primera señal de audio 130 corresponde a una señal "objetivo" en respuesta a la determinación de que el valor de desajuste final 116 indica el tercer valor (por ejemplo, 0). En algunas implementaciones, el ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desajuste final 116 indica un tercer valor (por ejemplo, 0), dejar el indicador de señal de referencia 164 sin cambios. Por ejemplo, el indicador de señal de referencia 164 puede ser el mismo que un indicador de señal de referencia correspondiente a la primera trama particular de la primera señal de audio 130. El ecualizador temporal 108 puede generar un valor de desajuste no causal 162 indicando un valor absoluto del valor de desajuste final 116.
[0048] El ecualizador temporal 108 puede generar un parámetro de ganancia 160 (por ejemplo, un parámetro de ganancia de códec) basado en muestras de la señal "objetivo" y basado en muestras de la señal de "referencia". Por ejemplo, el ecualizador temporal 108 puede seleccionar muestras de la segunda señal de audio 132 basándose en el valor de desajuste no causal 162. De forma alternativa, el ecualizador temporal 108 puede seleccionar muestras de la segunda señal de audio 132 independientemente del valor de desajuste no causal 162. El ecualizador temporal 108 puede, en respuesta a la determinación de que la primera señal de audio 130 es la señal de referencia, determinar el parámetro de ganancia 160 de las muestras seleccionadas basándose en las primeras muestras de la primera trama 131 de la primera señal de audio 130. De forma alternativa, el ecualizador temporal 108 puede, en respuesta a la determinación de que la segunda señal de audio 132 es la señal de referencia, determinar el parámetro de ganancia 160 de las primeras muestras basándose en las muestras seleccionadas. Como ejemplo, el parámetro de ganancia 160 puede basarse en una de las siguientes ecuaciones:
donde gD corresponde al parámetro de ganancia relativa 160 para el procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", N1 corresponde al valor de desajuste no causal 162 de la primera trama 131 y Targ(n+ N1 ) corresponde a muestras de la señal "objetivo". El parámetro de ganancia 160 (gD) puede modificarse, por ejemplo, basándose en una de las ecuaciones 1 a-If, para incorporar la lógica de suavizado/histéresis a largo plazo para evitar grandes saltos en la ganancia entre tramas. Cuando la señal objetivo incluye la primera señal de audio 130, 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 de audio 132, las primeras muestras pueden incluir muestras de la señal de referencia y las muestras seleccionadas pueden incluir muestras de la señal objetivo.
[0049] En algunas implementaciones, el ecualizador temporal 108 puede generar el parámetro de ganancia 160 basado en el tratamiento de la primera señal de audio 130 como una señal de referencia y en el tratamiento de la segunda señal de audio 132 como una señal objetivo, independientemente del indicador de señal de referencia 164. Por ejemplo, el ecualizador temporal 108 puede generar el parámetro de ganancia 160 basado en una de las ecuaciones 1a-1f donde Ref(n) corresponde a muestras (por ejemplo, las primeras muestras) de la primera señal de audio 130 y Targ(n+N1) corresponde a muestras (por ejemplo, las muestras seleccionadas) de la segunda señal de audio 132. En implementaciones alternativas, el ecualizador temporal 108 puede generar el parámetro de ganancia 160 basado en el tratamiento de la segunda señal de audio 132 como una señal de referencia y en el tratamiento de la primera señal de audio 130 como una señal objetivo, independientemente del indicador de señal de referencia 164. Por ejemplo, el ecualizador temporal 108 puede generar el parámetro de ganancia 160 basado en una de las ecuaciones 1a-1f donde Ref(n) corresponde a muestras (por ejemplo, las muestras seleccionadas) de la segunda señal de audio 132 y Targ(n+N1) corresponde a muestras (por ejemplo, las primeras muestras) de la primera señal de audio 130.
[0050] El ecualizador temporal 108 puede generar una o más señales codificadas 102 (por ejemplo, un canal medio, un canal lateral, o ambas) basándose en las primeras muestras, las muestras seleccionadas y el parámetro de ganancia relativa 160 para el procesamiento de mezcla descendente. Por ejemplo, el ecualizador temporal 108 puede generar la señal media basándose en una de las siguientes ecuaciones:
M — R e f ( n ) T a r g ( n N -J, Ecuación 2b
donde M corresponde a la señal del canal medio, gD corresponde al parámetro de ganancia relativa 160 para el procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", N1 corresponde al valor de desajuste no causal 162 de la primera trama 131, y Targ(n+N 1) corresponde a muestras de la señal "objetivo".
[0051] El ecualizador temporal 108 puede generar el canal lateral basándose en una de las siguientes ecuaciones:
S
=
Ref( r i ) - gD Targ (n
+
N J ,
Ecuación 3 a
5 =
gDRef(r i ) - Targ (n
+ A'J, Ecuación 3 b
donde S corresponde al canal lateral, gD corresponde al parámetro de ganancia relativa 160 para el procesamiento de mezcla descendente, Ref(n) corresponde a muestras de la señal de "referencia", N1 corresponde al valor de desajuste no causal 162 de la primera trama 131 y Targ(n+N 1) corresponde a muestras de la señal "objetivo".
[0052] El transmisor 110 puede transmitir las señales codificadas 102 (por ejemplo, el canal medio, el canal lateral, o ambos), el indicador de señal de referencia 164, el valor de desajuste no causal 162, el parámetro de ganancia 160, o una combinación de los mismos, a través de la red 120, al segundo dispositivo 106. En algunas implementaciones, el transmisor 110 puede almacenar las señales codificadas 102 (por ejemplo, el canal medio, el canal lateral, o ambas), el indicador de señal de referencia 164, el valor de desajuste no causal 162, el parámetro de ganancia 160, o una
combinación de los mismos, en un dispositivo de la red 120 o un dispositivo local para su procesamiento adicional o descodificación posterior.
[0053] El descodificador 118 puede descodificar las señales codificadas 102. El equilibrador temporal 124 puede realizar la mezcla ascendente para generar una primera señal de salida 126 (por ejemplo, correspondiente a la primera señal de audio 130), una segunda señal de salida 128 (por ejemplo, correspondiente a la segunda señal de audio 132), o ambas. El segundo dispositivo 106 puede emitir la primera señal de salida 126 a través del primer altavoz 142. El segundo dispositivo 106 puede emitir la segunda señal de salida 128 a través del segundo altavoz 144.
[0054] Por tanto, el sistema 100 puede permitir que el ecualizador temporal 108 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 de audio 130 y las muestras seleccionadas de la segunda señal de audio 132 pueden corresponder al mismo sonido emitido por la fuente de sonido 152 y, por lo tanto, una diferencia entre las primeras muestras y las muestras seleccionadas puede ser inferior a entre las primeras muestras y otras muestras de la segunda señal de audio 132. El canal lateral puede corresponder a la diferencia entre las primeras muestras y las muestras seleccionadas.
[0055] Con referencia a la FIG. 2, se divulga una implementación ilustrativa particular de un sistema y se designa en general como 200. El sistema 200 incluye un primer dispositivo 204 acoplado, a través de la red 120, al segundo dispositivo 106. El primer dispositivo 204 puede corresponder al primer dispositivo 104 de la FIG. 1. El sistema 200 difiere del sistema 100 de la FIG. 1 en que el primer dispositivo 204 está acoplado a más de dos micrófonos. Por ejemplo, el primer dispositivo 204 puede estar acoplado al primer micrófono 146, un enésimo micrófono 248 y uno o más micrófonos adicionales (por ejemplo, el segundo micrófono 148 de la FIG. 1). El segundo dispositivo 106 puede estar acoplado al primer altavoz 142, un Y-ésimo altavoz 244, 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 214. El codificador 214 puede corresponder al codificador 114 de la FIG. 1. El codificador 214 puede incluir uno o más ecualizadores temporales 208. Por ejemplo, el (los) ecualizador(es) temporal(es) 208 puede(n) incluir el ecualizador temporal 108 de la FIG. 1.
[0056] Durante el funcionamiento, 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 de audio 130 a través del primer micrófono 146, una N-ésima señal de audio 232 a través del N-ésimo micrófono 248 y una o más señales de audio adicionales (por ejemplo, la segunda señal de audio 132) a través de los micrófonos (por ejemplo, el segundo micrófono 148).
[0057] El (los) ecualizador(es) temporal(es) 208 puede(n) generar uno o más indicadores de señal de referencia 264, valores de desajuste finales 216, valores de desajuste no causales 262, parámetros de ganancia 260, señales codificadas 202, o una combinación de las mismos. Por ejemplo, el (los) ecualizador(es) temporal(es) 208 puede(n) determinar que la primera señal de audio 130 es una señal de referencia y que cada una de la N-ésima señal de audio 232 y las señales de audio adicionales es una señal objetivo. El (los) ecualizador(es) temporal(es) 208 puede(n) generar el indicador de señal de referencia 164, los valores de desajuste finales 216, los valores de desajuste no causales 262, los parámetros de ganancia 260 y las señales codificadas 202 correspondientes a la primera señal de audio 130 y cada una de la N-ésima señal de audio 232 y las señales de audio adicionales.
[0058] Los indicadores de señal de referencia 264 pueden incluir el indicador de señal de referencia 164. Los valores de desajuste finales 216 pueden incluir el valor de desajuste final 116 indicativo de un desplazamiento de la segunda señal de audio 132 en relación con la primera señal de audio 130, un segundo valor de desajuste final indicativo de un desplazamiento de la N-ésima señal de audio 232 en relación con la primera señal de audio 130, o ambos. Los valores de desajuste no causales 262 pueden incluir el valor de desajuste no causal 162 correspondiente a un valor absoluto del valor de desajuste final 116, un segundo valor de desajuste no causal correspondiente a un valor absoluto del segundo valor de desajuste final, o ambos. Los parámetros de ganancia 260 pueden incluir el parámetro de ganancia 160 de muestras seleccionadas de la segunda señal de audio 132, un segundo parámetro de ganancia de muestras seleccionadas de la N-ésima señal de audio 232, o ambos. Las señales codificadas 202 pueden incluir al menos una de las señales codificadas 102. Por ejemplo, las señales codificadas 202 pueden incluir la señal del canal lateral correspondiente a las primeras muestras de la primera señal de audio 130 y muestras seleccionadas de la segunda señal de audio 132, un segundo canal lateral correspondiente a las primeras muestras y muestras seleccionadas de la N-ésima señal de audio 232, o ambos. Las señales codificadas 202 pueden incluir un canal medio correspondiente a las primeras muestras, las muestras seleccionadas de la segunda señal de audio 132 y las muestras seleccionadas de la N-ésima señal de audio 232.
[0059] En algunas implementaciones, el (los) ecualizador(es) temporal(es) 208 puede(n) determinar múltiples señales de referencia y señales objetivo correspondientes, como se describe con referencia a la FIG. 15. Por ejemplo, los indicadores de señal de referencia 264 pueden incluir un indicador de señal de referencia correspondiente a cada par de señal de referencia y señal objetivo. A modo ilustrativo, los indicadores de señal de referencia 264 pueden incluir el indicador de señal de referencia 164 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132. Los valores de desajuste finales 216 pueden incluir un valor de desajuste final correspondiente a cada par de señal de referencia y señal objetivo. Por ejemplo, los valores de desajuste finales 216 pueden incluir el valor de desajuste final 116 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132. Los valores de
desajuste no causales 262 pueden incluir un valor de desajuste no causal correspondiente a cada par de señal de referencia y señal objetivo. Por ejemplo, los valores de desajuste no causales 262 pueden incluir el valor de desajuste no causal 162 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132. Los parámetros de ganancia 260 pueden incluir un parámetro de ganancia correspondiente a cada par de señal de referencia y señal objetivo. Por ejemplo, los parámetros de ganancia 260 pueden incluir el parámetro de ganancia 160 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132. Las señales codificadas 202 pueden incluir un canal medio y un canal lateral correspondiente a cada par de señal de referencia y señal objetivo. Por ejemplo, las señales codificadas 202 pueden incluir las señales codificadas 102 correspondientes a la primera señal de audio 130 y la segunda señal de audio 132.
[0060] El transmisor 110 puede transmitir los indicadores de señal de referencia 264, los valores de desajuste no causales 262, los parámetros de ganancia 260, las señales codificadas 202, o una combinación de los mismos, a través de la red 120, al segundo dispositivo 106. El descodificador 118 puede generar una o más señales de salida basadas en los indicadores de señal de referencia 264, los valores de desajuste no causales 262, los parámetros de ganancia 260, las señales codificadas 202, o una combinación de los mismos. Por ejemplo, el descodificador 118 puede emitir una primera señal de salida 226 a través del primer altavoz 142, una Y-ésima señal de salida 228 a través del Y-ésimo altavoz 244, una o más señales de salida adicionales (por ejemplo, la segunda señal de salida 128) a través de uno o más altavoces adicionales (por ejemplo, el segundo altavoz 144), o una combinación de los mismos.
[0061] Por tanto, el sistema 200 puede permitir que el (los) ecualizador(es) temporal(es) 208 codifique(n) más de dos señales de audio. Por ejemplo, las señales codificadas 202 pueden incluir múltiples canales laterales que se codifican usando menos bits que los canales medios correspondientes generando los canales laterales basados en los valores de desajuste no causales 262.
[0062] Con referencia a la FIG. 3, se muestran ejemplos de muestras y se designan en general 300. Al menos un subconjunto de las muestras 300 puede estar codificado por el primer dispositivo 104, como se describe en el presente documento.
[0063] Las muestras 300 pueden incluir primeras muestras 320 correspondientes a la primera señal de audio 130, segundas muestras 350 correspondientes a la segunda señal de audio 132, 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.
[0064] La primera señal de audio 130 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, correspondiente a 20 ms, tal como 640 muestras a 32 kHz o 960 muestras a 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.
[0065] La muestra 322 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 352. La muestra 324 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 354. La muestra 326 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 356. La muestra 328 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 358. La muestra 330 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 360. La muestra 332 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 362. La muestra 334 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 364. La muestra 336 puede recibirse en la interfaz o interfaces de entrada 112 de la FIG. 1 aproximadamente al mismo tiempo que la muestra 366.
[0066] Un primer valor (por ejemplo, un valor positivo) del valor de desajuste final 116 puede indicar que la segunda señal de audio 132 está retardada en relación con la primera señal de audio 130. Por ejemplo, un primer valor (por ejemplo, X ms o Y muestras, donde X e Y incluyen números reales positivos) del valor de desajuste final 116 puede indicar que la trama 304 (por ejemplo, las muestras 326-332) corresponden a las muestras 358-364. Las muestras 326-332 y las muestras 358-364 pueden corresponder al mismo sonido emitido desde la fuente de sonido 152. Las muestras 358-364 pueden corresponder a una trama 344 de la segunda señal de audio 132. La ilustración de muestras con sombreado transversal en una o más de las FIGS. 1 -15 puede indicar que las muestras corresponden al mismo sonido. Por ejemplo, las muestras 326-332 y las muestras 358-364 se ilustran con sombreado transversal en la FIG.
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 de sonido 152.
[0067] Debe entenderse que una desviación temporal de Y muestras, como se muestra en la FIG. 3, es ilustrativa. Por ejemplo, la desviación temporal puede corresponder a varias muestras, Y, que es mayor o igual a 0. En un primer caso donde la desviación temporal Y = 0 muestras, las muestras 326-332 (por ejemplo, correspondiente a la trama 304) y las muestras 356-362 (por ejemplo, correspondiente a la trama 344) pueden mostrar una gran similitud sin ninguna desviación de trama. En un segundo caso donde la desviación temporal Y = 2 muestras, la trama 304 y la trama 344 pueden estar desviadas por 2 muestras. En este caso, la primera señal de audio 130 puede recibirse antes de la segunda señal de audio 132 en la interfaz o interfaces de entrada 112 por Y = 2 muestras o X = (2/Fs) ms, donde Fs corresponde a la frecuencia de muestreo en kHz. En algunos casos, la desviación temporal, Y, puede incluir un valor no entero, por ejemplo, Y = 1,6 muestras correspondiente a X = 0,05 ms a 32 kHz.
[0068] El ecualizador temporal 108 de la FIG. 1 puede generar las señales codificadas 102 codificando las muestras 326-332 y las muestras 358-364, como se describe con referencia a la FIG. 1. El ecualizador temporal 108 puede determinar que la primera señal de audio 130 corresponde a una señal de referencia y que la segunda señal de audio 132 corresponde a una señal objetivo.
[0069] Con referencia a la FIG. 4, se muestran ejemplos de muestras y se designan en general como 400. Los ejemplos 400 difieren de los ejemplos 300 en que la primera señal de audio 130 se retarda con respecto a la segunda señal de audio 132.
[0070] Un segundo valor (por ejemplo, un valor negativo) del valor de desajuste final 116 puede indicar que la primera señal de audio 130 está retardada en relación con la segunda señal de audio 132. Por ejemplo, el segundo valor (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos) del valor de desajuste final 116 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 de audio 132. 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 de sonido 152.
[0071] Debe entenderse que una desviación temporal de -Y muestras, como se muestra en la FIG. 4, es ilustrativa. Por ejemplo, la desviación temporal puede corresponder a varias muestras, -Y, que es menor que o igual a 0. En un primer caso donde la desviación temporal Y = 0 muestras, las muestras 326-332 (por ejemplo, correspondiente a la trama 304) y las muestras 356-362 (por ejemplo, correspondiente a la trama 344) pueden mostrar una gran similitud sin ninguna desviación de trama. En un segundo caso donde la desviación temporal Y = -6 muestras, la trama 304 y la trama 344 pueden estar desviadas por 6 muestras. En este caso, la primera señal de audio 130 puede recibirse posterior a la segunda señal de audio 132 en la interfaz o interfaces de entrada 112 por Y = -6 muestras o X = (-6/Fs) ms, donde Fs corresponde a la frecuencia de muestreo en kHz. En algunos casos, la desviación temporal, Y, puede incluir un valor no entero, por ejemplo, Y = -3,2 muestras correspondiente a X = -0,1 ms a 32 kHz.
[0072] El ecualizador temporal 108 de la FIG. 1 puede generar las señales codificadas 102 codificando las muestras 354-360 y las muestras 326-332, como se describe con referencia a la FIG. 1. El ecualizador temporal 108 puede determinar que la segunda señal de audio 132 corresponde a una señal de referencia y que la primera señal de audio 130 corresponde a una señal objetivo. En particular, el ecualizador temporal 108 puede estimar el valor de desajuste no causal 162 a partir del valor de desajuste final 116, como se describe con referencia a la FIG. 5. El ecualizador temporal 108 puede identificar (por ejemplo, designar) una de la primera señal de audio 130 o la segunda señal de audio 132 como una señal de referencia y la otra de la primera señal de audio 130 o la segunda señal de audio 132 como una señal objetivo basándose en un signo del valor de desajuste final 116.
[0073] Con referencia a la FIG. 5, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 500. El sistema 500 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 500. El ecualizador temporal 108 puede incluir un remuestreador 504, un comparador de señal 506, un interpolador 510, un refinador de desplazamiento 511, un analizador de cambio de desplazamiento 512, un generador de desplazamiento absoluto 513, un designador de señal de referencia 508, un generador de parámetros de ganancia 514, un generador de señal 516, o una combinación de los mismos.
[0074] Durante el funcionamiento, el remuestreador 504 puede generar una o más señales remuestreadas, como se describe adicionalmente con referencia a la FIG. 6. Por ejemplo, el remuestreador 504 puede generar una primera señal remuestreada 530 mediante el remuestreo (por ejemplo, muestreo descendente o muestreo ascendente) de la primera señal de audio 130 basándose en un factor de remuestreo (por ejemplo, muestreo descendente o muestreo ascendente) (D) (por ejemplo, > 1). El remuestreador 504 puede generar una segunda señal remuestreada 532 remuestreando la segunda señal de audio 132 basándose en el factor de remuestreo (D). El remuestreador 504 puede proporcionar la primera señal remuestreada 530, la segunda señal remuestreada 532, o ambas, al comparador de señales 506.
[0075] El comparador de señales 506 puede generar valores de comparación 534 (por ejemplo, valores de diferencia, valores de similitud, valores de coherencia o valores de correlación cruzada), un valor de desajuste tentativo
536 (por ejemplo, un valor de desajuste tentativo), o ambos, como se describe adicionalmente con referencia a la FIG.
7. Por ejemplo, el comparador de señales 506 puede generar los valores de comparación 534 basados en la primera señal remuestreada 530 y una pluralidad de valores de desajuste aplicados a la segunda señal remuestreada 532, como se describe adicionalmente con referencia a la FIG. 7. El comparador de señales 506 puede determinar el valor de desajuste tentativo 536 basándose en los valores de comparación 534, como se describe adicionalmente con referencia a la FIG. 7. De acuerdo con una implementación, el comparador de señales 506 puede recuperar valores de comparación para tramas previas de las señales remuestreadas 530, 532 y puede modificar los valores de comparación 534 basándose en una operación de suavizado a largo plazo usando los valores de comparación para tramas previas. Por ejemplo, los valores de comparación 534 pueden incluir el valor de comparación a largo plazo CompVal ltn (k) para una trama actual (N) y pueden estar representados por CompValLTN(k) = (1 - a) * CompValN(k), +(a) * CompValLTN-1 (k), donde a e (0,1,0). Por lo tanto, el valor de comparación a largo plazo CompValLTN(k) puede basarse en una mezcla ponderada del valor de comparación instantáneo CompVaN(k) en la trama N y los valores de comparación a largo plazo CompValLTN-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 a largo plazo. Los parámetros de suavizado (por ejemplo, el valor de a) pueden controlarse/adaptarse para limitar el suavizado de los valores de comparación durante las partes de silencio (o durante el 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 basarse en a = 0,9. El control de los parámetros de suavizado (por ejemplo, a) puede basarse en si la energía de fondo o la energía a largo plazo está por debajo de un umbral, basándose en un tipo de codificador o basándose en estadísticas de valores de comparación.
[0076] En una implementación particular, el valor de los parámetros de suavizado (por ejemplo, a) puede basarse en el nivel de señal a corto plazo (Est) y el nivel de señal a largo plazo (Elt) de los canales. Como ejemplo, el nivel de la señal a corto plazo puede calcularse para la trama (N) que se está procesando (Est (N)) como la suma de la suma de los valores absolutos de las muestras de referencia reducidas y la suma de los valores absolutos de la muestras objetivo reducidas. 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) se puede controlar de acuerdo con un pseudocódigo que se describe a continuación
[0077] Establecer a en un valor inicial (por ejemplo, 0,95).
si Est > 4* Elt, modificar el valor de a (por ejemplo, a = 0,5)
si Est > 2* Elt y Est ^ 4* Elt, modificar el valor de a (por ejemplo, a = 0,7)
[0078] 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 a corto y 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 aún más el suavizado (por ejemplo, aumentar el valor de a). Por otro lado, cuando los valores de comparación en función de los diversos valores de desplazamiento no se parecen a los valores de comparación a largo plazo, los parámetros de suavizado pueden ajustarse (por ejemplo, adaptarse) para reducir el suavizado (por ejemplo, disminuir el valor de a).
[0079] Además, los valores de comparación a corto plazo (CompValsTN(k)) pueden estimarse como una versión suavizada de los valores de comparación de las tramas en las proximidades de la trama actual que se está procesando.
(
CompValN(k')+ CompValN- i
(
k)+ CompValN-
2
(k)')
Ex: CompValsTN(k) = 3 .En otras implementaciones, los valores de comparación a corto plazo pueden ser los mismos que los valores de comparación generados en la trama que se está procesando (CompValLTN-1 (k)).
[0080] Además, la correlación cruzada de los valores de comparación a corto y largo plazo (CrossCorr_CompVaN) puede ser un valor único estimado por cada trama (N) que se calcula como CrossCorr_CompVaN = (Ik CompValsTN(k) * CompValLTN-1(k))/ Fac. Donde Fac es un factor de normalización elegido de manera que CrossCorr_CampVaN esté restringido entre 0 y 1. Como ejemplo, Fac se puede calcular como: Fac = J ( L ^ n m p V a l srK(k) * CompVal^^^k)) * C¿k CompVal,T/í_ ^k ) * CompVatu -N_^k)^
[0081] La primera señal remuestreada 530 puede incluir menos muestras o más muestras que la primera señal de audio 130. La segunda señal remuestreada 532 puede incluir menos muestras o más muestras que la segunda señal de audio 132. La determinación de los valores de comparación 534 basándose en la menor cantidad de muestras de las señales remuestreadas (por ejemplo, la primera señal remuestreada 530 y la segunda señal remuestreada 532) puede usar menos recursos (por ejemplo, tiempo, número de operaciones o ambos) que en muestras de señales originales (por ejemplo, la primera señal de audio 130 y la segunda señal de audio 132). La determinación de los valores de comparación 534 basándose en la mayor cantidad de muestras de las señales remuestreadas (por ejemplo,
la primera señal remuestreada 530 y la segunda señal remuestreada 532) puede incrementar más la precisión que en las muestras de las señales originales (por ejemplo, la primera señal de audio 130 y la segunda señal de audio 132). El comparador de señales 506 puede proporcionar los valores de comparación 534, el valor de desajuste tentativo 536, o ambos, al interpolador 510.
[0082] El interpolador 510 puede extender el valor de desajuste tentativo 536. Por ejemplo, el interpolador 510 puede generar un valor de desajuste interpolado 538, como se describe adicionalmente con referencia a la FIG. 8. Por ejemplo, el interpolador 510 puede generar valores de comparación interpolados correspondientes a valores de desajuste que están próximos al valor de desajuste tentativo 536 interpolando los valores de comparación 534. El interpolador 510 puede determinar el valor de desajuste interpolado 538 basándose en los valores de comparación interpolados y los valores de comparación 534. Los valores de comparación 534 pueden basarse en una granularidad más aproximada de los valores de desajuste. Por ejemplo, los valores de comparación 534 pueden basarse 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 sea mayor o igual a un umbral (por ejemplo, > 1). El umbral puede basarse en el factor de remuestreo (D).
[0083] Los valores de comparación interpolados pueden basarse en una granularidad más fina de los valores de desajuste que se aproximan al valor de desajuste tentativo remuestreado 536. Por ejemplo, los valores de comparación interpolados pueden basarse en un segundo subconjunto del conjunto de valores de desajuste de modo que la diferencia entre un valor de desajuste más alto del segundo subconjunto y el valor de desajuste tentativo remuestreado 536 sea menor que el umbral (por ejemplo, >1), y una diferencia entre el valor de desajuste más bajo del segundo subconjunto y el valor de desajuste tentativo remuestreado 536 sea menor que el umbral. La determinación de los valores de comparación 534 basándose en la granularidad más aproximada (por ejemplo, el primer subconjunto) del conjunto de valores de desajuste puede usar menos recursos (por ejemplo, tiempo, operaciones o ambos) que la determinación de los valores de comparación 534 basándose en una granularidad más fina (por ejemplo, todos) del conjunto de valores de desajuste. La determinación de los valores de comparación interpolados correspondientes al segundo subconjunto de valores de desajuste puede extender el valor de desajuste tentativo 536 basándose en una granularidad más fina de un conjunto más pequeño de valores de desajuste que se aproximan al valor de desajuste tentativo 536 sin determinar los valores de comparación correspondientes a cada valor de desajuste del conjunto de valores de desajuste. Por tanto, determinar el valor de desajuste tentativo 536 basándose en el primer subconjunto de valores de desajuste y determinar el valor de desajuste interpolado 538 basándose en los valores de comparación interpolados puede equilibrar el uso de recursos y el refinamiento del valor de desajuste estimado. El interpolador 510 puede proporcionar el valor de desajuste interpolado 538 al refinador de desplazamiento 511.
[0084] 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 de desajuste/comparación interpolado 538 basándose en una operación de suavizado a largo plazo utilizando los valores de desajuste/comparación interpolados para tramas anteriores. Por ejemplo, el valor de desajuste/comparación interpolado 538 puede incluir un valor de desajuste/comparación interpolado a largo plazo InterValLTN(k) para una trama actual (N) y puede estar representado por InterValLTN(k) = (1 - a) * InterValN(k), +(a) * InterValLTN-1(k), donde a e (0,1,0). Por lo tanto, el valor de desajuste/comparación interpolado a largo plazo InterValLTN (k) puede basarse en una mezcla ponderada del valor de desajuste/comparación interpolado instantáneo InterVaN(k) en la trama N y los valores de desajuste/comparación interpolados a largo plazo InterVa’LTN-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 a largo plazo.
[0085] El refinador de desplazamiento 511 puede generar un valor de desajuste modificado 540 refinando el valor de desajuste interpolado 538, como se describe adicionalmente con referencia a las FIGS. 9A-9C. Por ejemplo, el refinador de desplazamiento 511 puede determinar si el valor de desajuste interpolado 538 indica que un desplazamiento en un desplazamiento entre la primera señal de audio 130 y la segunda señal de audio 132 es mayor que un umbral de cambio de desplazamiento, como se describe adicionalmente con referencia a la FIG. 9A. El cambio en el desplazamiento puede indicarse por una diferencia entre el valor de desajuste interpolado 538 y un primer valor de desajuste asociado con la trama 302 de la FIG. 3. El refinador de desplazamiento 511 puede, en respuesta a la determinación de que la diferencia es menor o igual al umbral, establecer el valor de desajuste modificado 540 en el valor de desajuste interpolado 538. De forma alternativa, el refinador de desplazamiento 511 puede, en respuesta a la determinación de que la diferencia es mayor que el umbral, determinar una pluralidad de valores de desajuste que corresponden a una diferencia que es menor o igual al umbral de cambio de desplazamiento, como se describe adicionalmente con referencia a la FIG. 9A. El refinador de desplazamiento 511 puede determinar valores de comparación basándose en la primera señal de audio 130 y la pluralidad de valores de desajuste aplicados a la segunda señal de audio 132. El refinador de desplazamiento 511 puede determinar el valor de desajuste modificado 540 basándose en los valores de comparación, como se describe adicionalmente con referencia a la FIG. 9A. Por ejemplo, el refinador de desplazamiento 511 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 538, como se describe adicionalmente con referencia a la FIG. 9A. El refinador de desplazamiento 511 puede establecer el valor de desajuste modificado 540 para indicar el valor de desajuste seleccionado. Una diferencia distinta de cero entre el primer valor de desajuste correspondiente a la trama 302 y el valor de desajuste interpolado 538 puede indicar que algunas muestras de la segunda señal de audio 132 corresponden a ambas tramas (por ejemplo, la trama 302 y la trama 304).
Por ejemplo, algunas muestras de la segunda señal de audio 132 pueden duplicarse durante la codificación. De forma alternativa, la diferencia distinta de cero puede indicar que algunas muestras de la segunda señal de audio 132 no corresponden ni a la trama 302 ni a la trama 304. Por ejemplo, algunas muestras de la segunda señal de audio 132 pueden perderse durante la codificación. Establecer el valor de desajuste modificado 540 en uno de la pluralidad de valores de desajuste puede evitar un gran cambio en los desplazamientos entre tramas consecutivas (o adyacentes), reduciendo así una cantidad de pérdida de muestra o duplicación de muestra durante la codificación. El refinador de desplazamiento 511 puede proporcionar el valor de desajuste modificado 540 al analizador de cambio de desplazamiento 512.
[0086] De acuerdo con una implementación, el refinador de cambios puede recuperar valores de desajuste modificados para tramas anteriores y puede modificar el valor de desajuste modificado 540 basándose en una operación de suavizado a largo plazo utilizando los valores de desajuste modificados para tramas anteriores. Por ejemplo, el valor de desajuste modificado 540 puede incluir un valor de desajuste modificado a largo plazo AmendValLTN(k) para una trama actual (N) y puede representarse mediante AmendValLTN(k) = (1 - a) * AmendValN(k), +(a) * AmendValLTN-1(k), donde a e (0,1,0). Por lo tanto, el valor de desajuste modificado a largo plazo AppendValLTN(k) puede basarse en una mezcla ponderada del valor de desajuste modificado instantáneo AmendVaN(k) en la trama N y los valores de desajuste modificado a largo plazo AmendValLTN-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 a largo plazo.
[0087] En algunas implementaciones, el refinador de desplazamiento 511 puede ajustar el valor de desajuste interpolado 538, como se describe con referencia a la FIG. 9B. El refinador de desplazamiento 511 puede determinar el valor de desajuste modificado 540 basándose en el valor de desajuste interpolado ajustado 538. En algunas implementaciones, el refinador de desplazamiento 511 puede determinar el valor de desajuste modificado 540, como se describe con referencia a la FIG. 9C.
[0088] El analizador de cambio de desplazamiento 512 puede determinar si el valor de desajuste modificado 540 indica un cambio o retroceso en la temporización entre la primera señal de audio 130 y la segunda señal de audio 132, como se describe con referencia a la FIG. 1. En particular, un retroceso o un cambio en la temporización pueden indicar que, para la trama 302, la primera señal de audio 130 se recibe en la interfaz o interfaces de entrada 112 antes de la segunda señal de audio 132 y, para una trama posterior (por ejemplo, la trama 304 o la trama 306), la segunda señal de audio 132 se recibe en la interfaz o interfaces de entrada antes de la primera señal de audio 130. De forma alternativa, un retroceso o un cambio en la temporización pueden indicar que, para la trama 302, la segunda señal de audio 132 se recibe en la interfaz o interfaces de entrada 112 antes de la primera señal de audio 130 y, para una trama posterior (por ejemplo, la trama 304 o la trama 306), la primera señal de audio 130 se recibe en la interfaz o interfaces de entrada antes de la segunda señal de audio 132. En otras palabras, un cambio o retroceso en la temporización puede indicar que un valor de desajuste final correspondiente a la trama 302 tiene un primer signo que es distinto de un segundo signo del valor de desajuste modificado 540 correspondiente a la trama 304 (por ejemplo, una transición positiva a negativa o viceversa). El analizador de cambio de desplazamiento 512 puede determinar si el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 ha cambiado de signo basándose en el valor de desajuste modificado 540 y el primer valor de desajuste asociado con la trama 302, como se describe adicionalmente con referencia a la FIG. 10 A. El analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 ha cambiado de signo, establecer el valor de desajuste final 116 en un valor (por ejemplo, 0) que indica que no hay desplazamiento de tiempo. De forma alternativa, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste modificado 540 en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 no ha cambiado de signo, como se describe adicionalmente con referencia a la FIG.
10A. El analizador de cambio de desplazamiento 512 puede generar un valor de desajuste estimado refinando el valor de desajuste modificado 540, como se describe adicionalmente con referencia a las FIGS. 10A, 11. El analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste estimado. Establecer el valor de desajuste final 116 para indicar que no hay desplazamiento de tiempo puede reducir la distorsión en un descodificador al abstenerse del desplazamiento de tiempo de la primera señal de audio 130 y la segunda señal de audio 132 en direcciones opuestas para tramas consecutivas (o adyacentes) de la primera señal de audio 130. El analizador de cambio de desplazamiento 512 puede proporcionar el valor de desajuste final 116 al designador de señal de referencia 508, al generador de desplazamiento absoluto 513, o ambos. En algunas implementaciones, el analizador de cambio de desplazamiento 512 puede determinar el valor de desajuste final 116, como se describe con referencia a la FIG. 10B.
[0089] El generador de desplazamiento absoluto 513 puede generar el valor de desajuste no causal 162 aplicando una función absoluta al valor de desajuste final 116. El generador de desplazamiento absoluto 513 puede proporcionar el valor de desajuste no causal 162 al generador de parámetros de ganancia 514.
[0090] El designador de señal de referencia 508 puede generar el indicador de señal de referencia 164 como se describe adicionalmente con referencia a las FIGS. 12-13. Por ejemplo, el indicador de señal de referencia 164 puede tener un primer valor que indica que la primera señal de audio 130 es una señal de referencia o un segundo valor que indica que la segunda señal de audio 132 es la señal de referencia. El designador de señal de referencia 508 puede proporcionar el indicador de señal de referencia 164 al generador de parámetros de ganancia 514.
[0091] El generador de parámetros de ganancia 514 puede seleccionar muestras de la señal objetivo (por ejemplo, la segunda señal de audio 132) basándose en el valor de desajuste no causal 162. A modo ilustrativo, el generador de parámetros de ganancia 514 puede seleccionar las muestras 358-364 en respuesta a la determinación de que el valor de desajuste no causal 162 tiene un primer valor (por ejemplo, X ms o Y muestras, donde X e Y incluyen números reales positivos). El generador de parámetros de ganancia 514 puede seleccionar las muestras 354-360 en respuesta a la determinación de que el valor de desajuste no causal 162 tiene un segundo valor (por ejemplo, -X ms o -Y muestras). El generador de parámetros de ganancia 514 puede seleccionar las muestras 356-362 en respuesta a la determinación de que el valor de desajuste no causal 162 tiene un valor (por ejemplo, 0) que indica que no hay desplazamiento de tiempo.
[0092] El generador de parámetros de ganancia 514 puede determinar si la primera señal de audio 130 es la señal de referencia o la segunda señal de audio 132 es la señal de referencia basándose en el indicador de señal de referencia 164. El generador de parámetros de ganancia 514 puede generar el parámetro de ganancia 160 basado 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 de audio 132, como se describe con referencia a la FIG. 1. Por ejemplo, el generador de parámetros de ganancia 514 puede generar el parámetro de ganancia 160 basado en una o más de la Ecuación 1a-Ecuación If, donde gD corresponde al parámetro de ganancia 160, Ref(n) corresponde a muestras de la señal de referencia, y Targ(n+N1) corresponde a muestras de la señal objetivo. A modo ilustrativo, 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 de desajuste no causal 162 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 de audio 130 y Targ(n+N1) puede corresponder a muestras de la segunda señal de audio 132, como se describe con referencia a la FIG. 1. En implementaciones alternativas, Ref(n) puede corresponder a muestras de la segunda señal de audio 132 y Targ(n+N1) puede corresponder a muestras de la primera señal de audio 130, como se describe con referencia a la FIG. 1.
[0093] El generador de parámetros de ganancia 514 puede proporcionar el parámetro de ganancia 160, el indicador de señal de referencia 164, el valor de desajuste no causal 162, o una combinación de los mismos, al generador de señal 516. El generador de señal 516 puede generar las señales codificadas 102, como se describe con referencia a la FIG. 1. Por ejemplo, las señales codificadas 102 pueden incluir una primera trama de señal codificada 564 (por ejemplo, una trama de canal medio), una segunda trama de señal codificada 566 (por ejemplo, una trama de canal lateral), o ambas. El generador de señal 516 puede generar la primera trama de señal codificada 564 basándose en la ecuación 2a o la ecuación 2b, donde M corresponde a la primera trama de señal codificada 564, gD corresponde al parámetro de ganancia 160, Ref(n) corresponde a muestras de la señal de referencia, y Targ(n+N1) corresponde a muestras de la señal objetivo. El generador de señal 516 puede generar la segunda trama de señal codificada 566 basándose en la ecuación 3a o la ecuación 3b, donde S corresponde a la segunda trama de señal codificada 566, gD corresponde al parámetro de ganancia 160, Ref(n) corresponde a muestras de la señal de referencia señal, y Targ(n+N1) corresponde a muestras de la señal objetivo.
[0094] El ecualizador temporal 108 puede almacenar la primera señal remuestreada 530, la segunda señal remuestreada 532, los valores de comparación 534, el valor de desajuste tentativo 536, el valor de desajuste interpolado 538, el valor de desajuste modificado 540, el valor de desajuste no causal 162, el indicador de señal de referencia 164, el valor de desajuste final 116, el parámetro de ganancia 160, la primera trama de señal codificada 564, la segunda trama de señal codificada 566, o una combinación de los mismos, en la memoria 153. Por ejemplo, los datos de análisis 190 pueden incluir la primera señal remuestreada 530, la segunda señal remuestreada 532, los valores de comparación 534, el valor de desajuste tentativo 536, el valor de desajuste interpolado 538, el valor de desajuste modificado 540, el valor de desajuste no causal 162, el indicador de señal de referencia 164, el valor de desajuste final 116, el parámetro de ganancia 160, la primera trama de señal codificada 564, la segunda trama de señal codificada 566, o una combinación de los mismos.
[0095] Las técnicas de suavizado descritas anteriormente pueden normalizar sustancialmente la estimación de desplazamiento entre tramas sonoras, tramas sordas y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de la muestra y la omisión de distorsiones en los límites de la trama. Además, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, lo cual puede mejorar la eficiencia de codificación.
[0096] Con referencia a la FIG. 6, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 600. El sistema 600 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 600.
[0097] El remuestreador 504 puede generar las primeras muestras 620 de la primera señal remuestreada 530 remuestreando (por ejemplo, muestreo descendente o muestreo ascendente) la primera señal de audio 130 de la FIG.
1. El remuestreador 504 puede generar las segundas muestras 650 de la segunda señal remuestreada 532 remuestreando (por ejemplo, muestreo descendente o muestreo ascendente) la segunda señal de audio 132 de la FIG. 1.
[0098] La primera señal de audio 130 puede muestrearse a una primera frecuencia de muestreo (Fs) para generar las muestras 320 de la FIG. 3. La primera frecuencia de muestreo (Fs) puede corresponder a una primera frecuencia (por ejemplo, 16 kilohercios (kHz)) asociada con el ancho de banda de banda ancha (WB), una segunda frecuencia (por ejemplo, 32 kHz) asociada con el ancho de banda de banda superancha (SWB), una tercera frecuencia (por ejemplo, 48 kHz) asociada con el ancho de banda de banda completa (FB) u otra frecuencia. La segunda señal de audio 132 puede muestrearse a una primera frecuencia de muestreo (Fs) para generar las muestras 350 de la FIG. 3.
[0099] En algunas implementaciones, el remuestreador 504 puede preprocesar la primera señal de audio 130 (o la segunda señal de audio 132) antes de remuestrear la primera señal de audio 130 (o la segunda señal de audio 132). El remuestreador 504 puede preprocesar la primera señal de audio 130 (o la segunda señal de audio 132) filtrando la primera señal de audio 130 (o la segunda señal de audio 132) basándose en un filtro de respuesta de impulso infinito (IIR) (por ejemplo, un filtro IIR de primer orden). El filtro IIR se puede basar en la siguiente ecuación:
Hpre(z)
= V(1 -
a z ~ xy
Ecuación 4
donde a es positivo, tal como 0,68 o 0,72. Al realizar la eliminación del énfasis antes del remuestreo se pueden reducir efectos, tales como el solapamiento, el condicionamiento de la señal o ambos. La primera señal de audio 130 (por ejemplo, la primera señal de audio preprocesada 130) y la segunda señal de audio 132 (por ejemplo, la segunda señal de audio preprocesada 132) se pueden remuestrear basándose en un factor de remuestreo (D). El factor de remuestreo (D) puede basarse en la primera frecuencia de muestreo (Fs) (por ejemplo, D = Fs/8, D = 2Fs, etc.).
[0100] En implementaciones alternativas, la primera señal de audio 130 y la segunda señal de audio 132 pueden filtrarse por paso bajo o eliminarse usando un filtro de antisolapamiento antes del remuestreo. El filtro de eliminación puede basarse en el factor de remuestreo (D). En un ejemplo particular, el remuestreador 504 puede seleccionar un filtro de eliminación con una primera frecuencia de corte (por ejemplo, n/D o n/4) en respuesta a la determinación de que la primera frecuencia de muestreo (Fs) corresponde a una frecuencia particular (por ejemplo, 32 kHz). Reducir el solapamiento desestimando múltiples señales (por ejemplo, la primera señal de audio 130 y la segunda señal de audio 132) puede ser computacionalmente menos costoso que aplicar un filtro de eliminación a las múltiples señales.
[0101] Las primeras muestras 620 pueden incluir una muestra 622, una muestra 624, una muestra 626, una muestra 628, una muestra 630, una muestra 632, una muestra 634, una muestra 636, una o más muestras adicionales, o una combinación de las mismas. Las primeras muestras 620 pueden incluir un subconjunto (por ejemplo, 1/8-ésimo) de las primeras muestras 320 de la FIG. 3. La muestra 622, la muestra 624, una o más muestras adicionales, o una combinación de las mismas, pueden corresponder a la trama 302. La muestra 626, la muestra 628, la muestra 630, la muestra 632, una o más muestras adicionales, o una combinación de las mismas, pueden corresponder a la trama 304. La muestra 634, la muestra 636, una o más muestras adicionales, o una combinación de las mismas, pueden corresponder a la trama 306.
[0102] Las segundas muestras 650 pueden incluir una muestra 652, una muestra 654, una muestra 656, una muestra 658, una muestra 660, una muestra 662, una muestra 664, una muestra 666, una o más muestras adicionales, o una combinación de las mismas. Las segundas muestras 650 pueden incluir un subconjunto (por ejemplo, 1/8-avo) de las segundas muestras 350 de la FIG. 3. Las muestras 654-660 pueden corresponder a las muestras 354-360. Por ejemplo, las muestras 654-660 pueden incluir un subconjunto (por ejemplo, 1/8-avo) de las muestras 354-360. Las muestras 656-662 pueden corresponder a las muestras 356-362. Por ejemplo, las muestras 656-662 pueden incluir un subconjunto (por ejemplo, 1/8-avo) de las muestras 356-362. Las muestras 658-664 pueden corresponder a las muestras 358-364. Por ejemplo, las muestras 658-664 pueden incluir un subconjunto (por ejemplo, 1/8-avo) de las muestras 358-364. En algunas implementaciones, el factor de remuestreo puede corresponder a un primer valor (por ejemplo, 1) donde las muestras 622-636 y las muestras 652-666 de la FIG. 6 puede ser similares a las muestras 322 336 y las muestras 352-366 de la FIG. 3, respectivamente.
[0103] El remuestreador 504 puede almacenar las primeras muestras 620, las segundas muestras 650, o ambas, en la memoria 153. Por ejemplo, los datos de análisis 190 pueden incluir las primeras muestras 620, las segundas muestras 650 o ambas.
[0104] Con referencia a la FIG. 7, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 700. El sistema 700 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 700.
[0105] La memoria 153 puede almacenar una pluralidad de valores de desajuste 760. Los valores de desajuste 760 pueden incluir un primer valor de desajuste 764 (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos), un segundo valor de desajuste 766 (por ejemplo, X ms o Y muestras, donde X e Y incluyen números reales positivos), o ambos. Los valores de desajuste 760 pueden variar desde un valor de desajuste inferior (por ejemplo, un valor de desajuste mínimo, T_MIN) hasta un valor de desajuste superior (por ejemplo, un valor de
desajuste máximo, T_MAX). Los valores de desajuste 760 pueden indicar un desplazamiento temporal esperado (por ejemplo, un desplazamiento temporal esperado máximo) entre la primera señal de audio 130 y la segunda señal de audio 132.
[0106] Durante el funcionamiento, el comparador de señales 506 puede determinar los valores de comparación 534 basados en las primeras muestras 620 y los valores de desajuste 760 aplicados a las segundas muestras 650. Por ejemplo, las muestras 626-632 pueden corresponder a un primer tiempo (t). A modo ilustrativo, la interfaz o interfaces de entrada 112 de la FIG. 1 puede recibir las muestras 626-632 correspondientes a la trama 304 aproximadamente el primer tiempo (t). El primer valor de desajuste 764 (por ejemplo, -X ms o -Y muestras, donde X e Y incluyen números reales positivos) puede corresponder a un segundo tiempo (t-1).
[0107] Las muestras 654-660 pueden corresponder al segundo tiempo (t-1). Por ejemplo, la interfaz o interfaces de entrada 112 pueden recibir las muestras 654-660 a aproximadamente el segundo tiempo (t-1). El comparador de señal 506 puede determinar un primer valor de comparación 714 (por ejemplo, un valor de diferencia o un valor de correlación cruzada) correspondiente al primer valor de desajuste 764 basándose en las muestras 626-632 y las muestras 654 660. Por ejemplo, el primer valor de comparación 714 puede corresponder a un valor absoluto de correlación cruzada de las muestras 626-632 y las muestras 654-660. Como otro ejemplo, el primer valor de comparación 714 puede indicar una diferencia entre las muestras 626-632 y las muestras 654-660.
[0108] El segundo valor de desajuste 766 (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 de entrada 112 pueden recibir las muestras 658-664 a aproximadamente el tercer tiempo (t+1). El comparador de señal 506 puede determinar un segundo valor de comparación 716 (por ejemplo, un valor de diferencia o un valor de correlación cruzada) correspondiente al segundo valor de desajuste 766 basándose en las muestras 626-632 y las muestras 658-664. Por ejemplo, el segundo valor de comparación 716 puede corresponder a un valor absoluto de correlación cruzada de las muestras 626-632 y las muestras 658-664. Como otro ejemplo, el segundo valor de comparación 716 puede indicar una diferencia entre las muestras 626-632 y las muestras 658-664. El comparador de señal 506 puede almacenar los valores de comparación 534 en la memoria 153. Por ejemplo, los datos de análisis 190 pueden incluir los valores de comparación 534.
[0109] El comparador de señal 506 puede identificar un valor de comparación seleccionado 736 de los valores de comparación 534 que tiene un valor superior (o inferior) a otros valores de los valores de comparación 534. Por ejemplo, el comparador de señal 506 puede seleccionar el segundo valor de comparación 716 como el valor de comparación seleccionado 736 en respuesta a la determinación de que el segundo valor de comparación 716 es mayor o igual que el primer valor de comparación 714. En algunas implementaciones, los valores de comparación 534 pueden corresponder a valores de correlación cruzada. El comparador de señales 506 puede, en respuesta a la determinación de que el segundo valor de comparación 716 es mayor que el primer valor de comparación 714, determinar que las muestras 626-632 tienen una correlación más alta con las muestras 658-664 que con las muestras 654-660. El comparador de señal 506 puede seleccionar el segundo valor de comparación 716 que indica la correlación más alta como el valor de comparación seleccionado 736. En otras implementaciones, los valores de comparación 534 pueden corresponder a valores de diferencia. El comparador de señales 506 puede, en respuesta a la determinación de que el segundo valor de comparación 716 es menor que el primer valor de comparación 714, determinar que las muestras 626-632 tienen una mayor similitud con (por ejemplo, una diferencia menor con) las muestras 658-664 que las muestras 654-660. El comparador de señal 506 puede seleccionar el segundo valor de comparación 716 que indica una diferencia menor como el valor de comparación seleccionado 736.
[0110] El valor de comparación seleccionado 736 puede indicar una correlación más alta (o una diferencia más baja) que los otros valores de los valores de comparación 534. El comparador de señal 506 puede identificar el valor de desajuste tentativo 536 de los valores de desajuste 760 que corresponde al valor de comparación seleccionado 736. Por ejemplo, el comparador de señal 506 puede identificar el segundo valor de desajuste 766 como el valor de desajuste tentativo 536 en respuesta a la determinación de que el segundo valor de desajuste 766 corresponde al valor de comparación seleccionado 736 (por ejemplo, el segundo valor de comparación 716).
[0111] El comparador de señal 506 puede determinar el valor de comparación seleccionado 736 basándose en la siguiente ecuación:
maxXCorr — max(|Xfc=-ff w(n)l'(n) * w(n k:)r'(n fc)|), Ecuación 5
donde maxXCorr corresponde al valor de comparación seleccionado 736 y k corresponde a un valor de desajuste. w(n)*1' corresponde a la primera señal de audio desestimada, remuestreada y en ventana 130, y w(n)*r' corresponde a la segunda señal de audio desestimada, remuestreada y en ventana 132. Por ejemplo, w(n)*1' puede corresponder a las muestras 626-632, w(n-1)*r' puede corresponder a las muestras 654-660, w(n)*r' puede corresponder a las muestras 656-662, y w(n+1)*r' puede corresponder a las muestras 658-664. -K puede corresponder a un valor de desajuste inferior (por ejemplo, un valor de desajuste mínimo) de los valores de desajuste 760, y K puede corresponder
a un valor de desajuste superior (por ejemplo, un valor de desajuste máximo) de los valores de desajuste 760. En la ecuación 5, w(n)*1' corresponde a la primera señal de audio 130 independientemente de si la primera señal de audio 130 corresponde a un canal derecho (r) o un canal izquierdo (1). En la ecuación 5, w(n)*r' corresponde a la segunda señal de audio 132 independientemente de si la segunda señal de audio 132 corresponde a la señal del canal derecho (r) o a la señal del canal izquierdo (1).
[0112] El comparador de señal 506 puede determinar el valor de desajuste tentativo 536 basándose en la siguiente ecuación:
T = argmaJ{c(]'Zk=-K w(n)l'(n) * w(n k)r'(n fc)|), Ecuación 6
donde T corresponde al valor de desajuste tentativo 536.
[0113] El comparador de señal 506 puede asignar el valor de desajuste tentativo 536 de las muestras remuestreadas a las muestras originales basándose en el factor de remuestreo (D) de la FIG. 6. Por ejemplo, el comparador de señal 506 puede actualizar el valor de desajuste tentativo 536 basándose en el factor de remuestreo (D). A modo ilustrativo, el comparador de señal 506 puede establecer el valor de desajuste tentativo 536 a un producto (por ejemplo, 12) del valor de desajuste tentativo 536 (por ejemplo, 3) y el factor de remuestreo (D) (por ejemplo, 4).
[0114] Con referencia a la FIG. 8, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 800. El sistema 800 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 800. La memoria 153 puede configurarse para almacenar valores de desajuste 860. Los valores de desajuste 860 pueden incluir un primer valor de desajuste 864, un segundo valor de desajuste 866, o ambos.
[0115] Durante el funcionamiento, el interpolador 510 puede generar los valores de desajuste 860 próximos al valor de desajuste tentativo 536 (por ejemplo, 12), como se describe en el presente documento. Los valores de desajuste asignados pueden corresponder a los valores de desajuste 760 asignados desde las muestras remuestreadas a las muestras originales basándose en el factor de remuestreo (D). Por ejemplo, un primer valor de desajuste asignado de los valores de desajuste asignados puede corresponder a un producto del primer valor de desajuste 764 y el factor de remuestreo (D). Una diferencia entre un primer valor de desajuste asignado de los valores de desajuste asignados y cada segundo valor de desajuste asignado de los valores de desajuste asignados puede ser mayor o igual que un valor umbral (por ejemplo, el factor de remuestreo (D), tal como 4). Los valores de desajuste 860 pueden tener una granularidad más fina que los valores de desajuste 760. Por ejemplo, una diferencia entre un valor inferior (por ejemplo, un valor mínimo) de los valores de desajuste 860 y el valor de desajuste tentativo 536 puede ser menor que el valor umbral (por ejemplo, 4). El valor umbral puede corresponder al factor de remuestreo (D) de la FIG. 6. Los valores de desajuste 860 pueden variar desde un primer valor (por ejemplo, el valor de desajuste tentativo 536-(el valor umbral-1)) a un segundo valor (por ejemplo, el valor de desajuste tentativo 536+(valor umbral-1)).
[0116] El interpolador 510 puede generar valores de comparación interpolados 816 correspondientes a los valores de desajuste 860 realizando la interpolación en los valores de comparación 534, como se describe en el presente documento. Los valores de comparación correspondientes a uno o más de los valores de desajuste 860 pueden excluirse de los valores de comparación 534 debido a la menor granularidad de los valores de comparación 534. El uso de los valores de comparación interpolados 816 puede permitir la búsqueda de valores de comparación interpolados correspondientes a uno o más de los valores de desajuste 860 para determinar si un valor de comparación interpolado correspondiente a un valor de desajuste particular próximo al valor de desajuste tentativo 536 indica una correlación más alta (o diferencia menor) que el segundo valor de comparación 716 de la FIG. 7.
[0117] La FIG. 8 incluye un gráfico 820 que ilustra ejemplos de los valores de comparación interpolados 816 y los valores de comparación 534 (por ejemplo, valores de correlación cruzada). El interpolador 510 puede realizar la interpolación basándose en una interpolación sinc en ventana de Hanning, interpolación basada en filtro IIR, interpolación spline, otra forma de interpolación de señal, o una combinación de las mismas. Por ejemplo, el interpolador 510 puede realizar la interpolación sinc en ventana de Hanning basándose en la siguiente ecuación:
R ( k y i2kHz = Sf=-4 ^(tw2 ~ 0 8kHz * b ( 3 i í), Ecuación 7
A A
do Ande t = k-f/vs, b corresponde a una función sinc con ventana, f/v2 corresponde al valor de desajuste tentativo 536. R(f A/v2-i)8kHz puede corresponder a un valor de comparación particular de los valores de comparación 534. Por ejemplo, R(fN2-i)8kHz puede indicar un primer valor de comparación de los valores A de comparación 534 que corresponde a un primer valor de desajuste (por ejemplo, 8) cuando i corresponde a 4. R(f/v2-i)8kHz puede indicar el segundo valor de comparación 716 que corresponde al valor de desajuste tentativo 536 (por ejemplo, 12) cuando i corresponde a 0. R(
f/v2-i)8kHz puede indicar un tercer valor de comparación de los valores de comparación 534 que corresponde aun tercer valor de desajuste (por ejemplo, 16) cuando i corresponde a -4.
[0118] R(k)32kHz puede corresponder a un valor interpolado particular de los valores de comparación interpolados 816. Cada valor interpolado de los valores de comparación interpolados 816 puede corresponder a una suma de un producto de la función sinc en ventana (b) y cada uno del primer valor de comparación, el segundo valor de comparación 716 y el tercer valor de comparación. Por ejemplo, el interpolador 510 puede determinar un primer producto de la función sinc en ventana (b) y el primer valor de comparación, un segundo producto de la función sinc en ventana (b) y el segundo valor de comparación 716, y un tercer producto de la función sinc en ventana (b) y el tercer valor de comparación. El interpolador 510 puede determinar un valor interpolado particular basado en una suma del primer producto, el segundo producto y el tercer producto. Un primer valor interpolado de los valores de comparación interpolados 816 puede corresponder a un primer valor de desajuste (por ejemplo, 9). La función sinc en ventana (b) puede tener un primer valor correspondiente al primer valor de desajuste. Un segundo valor interpolado de los valores de comparación interpolados 816 puede corresponder a un segundo valor de desajuste (por ejemplo, 10). La función sinc en ventana (b) puede tener un segundo valor correspondiente al segundo valor de desajuste. El primer valor de la función sinc en ventana (b) puede ser distinto del segundo valor. Por tanto, el primer valor interpolado puede ser distinto del segundo valor interpolado.
[0119] En la ecuación 7, 8 kHz pueden corresponder a una primera frecuencia de los valores de comparación 534. Por ejemplo, la primera frecuencia puede indicar un número (por ejemplo, 8) de valores de comparación correspondientes a una trama (por ejemplo, la trama 304 de la FIG. 3) que se incluyen en los valores de comparación 534. 32 kHz pueden corresponder a una segunda frecuencia de los valores de comparación interpolados 816. Por ejemplo, la segunda frecuencia puede indicar un número (por ejemplo, 32) de valores de comparación interpolados correspondientes a una trama (por ejemplo, la trama 304 de la FIG. 3) que se incluyen en los valores de comparación interpolados 816.
[0120] El interpolador 510 puede seleccionar un valor de comparación interpolado 838 (por ejemplo, un valor máximo o un valor mínimo) de los valores de comparación interpolados 816. El interpolador 510 puede seleccionar un valor de desajuste (por ejemplo, 14) de los valores de desajuste 860 que corresponde al valor de comparación interpolado 838. El interpolador 510 puede generar el valor de desajuste interpolado 538 que indica el valor de desajuste seleccionado (por ejemplo, el segundo valor de desajuste 866).
[0121] Usar un enfoque aproximado para determinar el valor de desajuste tentativo 536 y buscar alrededor del valor de desajuste tentativo 536 para determinar el valor de desajuste interpolado 538 puede reducir la complejidad de la búsqueda sin comprometer la eficacia o exactitud de la búsqueda.
[0122] Con referencia a la FIG. 9A, se muestra un ejemplo ilustrativo de un sistema y se designa en general con 900. El sistema 900 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 900. El sistema 900 puede incluir la memoria 153, un refinador de desplazamiento 911, o ambos. La memoria 153 se puede configurar para almacenar un primer valor de desajuste 962 correspondiente a la trama 302. Por ejemplo, los datos de análisis 190 pueden incluir el primer valor de desajuste 962. El primer valor de desajuste 962 puede corresponder a un valor de desajuste tentativo, un valor de desajuste interpolado, un valor de desajuste modificado, un valor de desajuste final o un valor de desajuste no causal asociado con la trama 302. La trama 302 puede preceder la trama 304 en la primera señal de audio 130. El refinador de desplazamiento 911 puede corresponder al refinador de desplazamiento 511 de la FIG. 1.
[0123] La FIG. 9A también incluye un diagrama de flujo de un procedimiento ilustrativo de funcionamiento en general designado con 920. El procedimiento 920 puede ser realizado por el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el (los) ecualizador(es) temporal(es) 208, el codificador 214, el primer dispositivo 204 de la FIG. 2, el refinador de desplazamiento 511 de la FIG. 5, el refinador de desplazamiento 911, o una combinación de los mismos.
[0124] El procedimiento 920 incluye determinar si un valor absoluto de una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 es mayor que un primer umbral, en 901. Por ejemplo, el refinador de desplazamiento 911 puede determinar si un valor absoluto de una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 es mayor que un primer umbral (por ejemplo, un umbral de cambio de desplazamiento).
[0125] El procedimiento 920 también incluye, en respuesta a la determinación de que el valor absoluto es menor o igual que el primer umbral, en 901, establecer el valor de desajuste modificado 540 para indicar el valor de desajuste interpolado 538, en 902. Por ejemplo, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el valor absoluto es menor o igual al umbral de cambio de desplazamiento, establecer el valor de desajuste modificado 540 para indicar el valor de desajuste interpolado 538. En algunas implementaciones, el umbral de cambio de desplazamiento puede tener un primer valor (por ejemplo, 0) que indica que el valor de desajuste modificado 540 debe establecerse en el valor de desajuste interpolado 538 cuando el primer valor de desajuste 962 es igual al valor
de desajuste interpolado 538. En implementaciones alternativas, el umbral de cambio de desplazamiento puede tener un segundo valor (por ejemplo, > 1) que indica que el valor de desajuste modificado 540 debe establecerse en el valor de desajuste interpolado 538, en 902, con un mayor grado de libertad. Por ejemplo, el valor de desajuste modificado 540 puede establecerse en el valor de desajuste interpolado 538 para un rango de diferencias entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538. A modo ilustrativo, el valor de desajuste modificado 540 puede establecerse en el valor de desajuste interpolado 538 cuando un valor absoluto de una diferencia (por ejemplo, -2, -1, 0, 1, 2) entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 es menor o igual que el umbral de cambio de desplazamiento (por ejemplo, 2).
[0126] El procedimiento 920 incluye además, en respuesta a la determinación de que el valor absoluto es mayor que el primer umbral, en 901, determinar si el primer valor de desajuste 962 es mayor que el valor de desajuste interpolado 538, en 904. Por ejemplo, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el valor absoluto es mayor que el umbral de cambio de desplazamiento, determinar si el primer valor de desajuste 962 es mayor que el valor de desajuste interpolado 538.
[0127] El procedimiento 920 también incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que el valor de desajuste interpolado 538, en 904, establecer un valor de desajuste inferior 930 a una diferencia entre el primer valor de desajuste 962 y un segundo umbral, y establecer un mayor valor de desajuste 932 al primer valor de desajuste 962, en 906. Por ejemplo, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 20) es mayor que el valor de desajuste interpolado 538 (por ejemplo, 14), establecer el valor de desajuste inferior 930 (por ejemplo, 17) en una diferencia entre el primer valor de desajuste 962 (por ejemplo, 20) y un segundo umbral (por ejemplo, 3). De forma adicional o alternativa, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que el valor de desajuste interpolado 538, establecer el mayor valor de desajuste 932 (por ejemplo, 20) en el primer valor de desajuste 962. El segundo umbral puede basarse en la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538. En algunas implementaciones, el valor de desajuste inferior 930 puede establecerse en una diferencia entre el valor de desajuste interpolado 538 y un umbral (por ejemplo, el segundo umbral) y el mayor valor de desajuste 932 puede establecerse en una diferencia entre el primer valor de desajuste 962 y un umbral (por ejemplo, el segundo umbral).
[0128] El procedimiento 920 incluye además, en respuesta a la determinación de que el primer valor de desajuste 962 es menor o igual que el valor de desajuste interpolado 538, en 904, establecer el valor de desajuste inferior 930 al primer valor de desajuste 962, y establecer un valor de desajuste mayor 932 a una suma del primer valor de desajuste 962 y un tercer umbral, en 910. Por ejemplo, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 10) es menor o igual que el valor de desajuste interpolado 538 (por ejemplo, 14), establecer el valor de desajuste inferior 930 al primer valor de desajuste 962 (por ejemplo, 10). De forma adicional o alternativa, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 es menor o igual que el valor de desajuste interpolado 538, establecer el mayor valor de desajuste 932 (por ejemplo, 13) en una suma del primer valor de desajuste 962 (por ejemplo, 10) y un tercer umbral (por ejemplo, 3). El tercer umbral puede basarse en la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538. En algunas implementaciones, el valor de desajuste inferior 930 puede establecerse en una diferencia entre el primer valor de desajuste 962 y un umbral (por ejemplo, el tercer umbral) y el mayor valor de desajuste 932 puede establecerse en una diferencia entre el valor de desajuste interpolado 538 y un umbral (por ejemplo, el tercer umbral).
[0129] El procedimiento 920 también incluye la determinación de los valores de comparación 916 basándose en la primera señal de audio 130 y los valores de desajuste 960 aplicados a la segunda señal de audio 132, en 908. Por ejemplo, el refinador de desplazamiento 911 (o el comparador de señal 506) puede generar los valores de comparación 916, como se describe con referencia a la FIG. 7, basándose en la primera señal de audio 130 y los valores de desajuste 960 aplicados a la segunda señal de audio 132. A modo ilustrativo, los valores de desajuste 960 pueden variar desde el menor valor de desajuste 930 (por ejemplo, 17) hasta el mayor valor de desajuste 932 (por ejemplo, 20). El refinador de desplazamiento 911 (o el comparador de señal 506) puede generar un valor de comparación particular de los valores de comparación 916 basándose en las muestras 326-332 y un subconjunto particular de las segundas muestras 350. El subconjunto particular de las segundas muestras 350 puede corresponder a un valor de desajuste particular (por ejemplo, 17) de los valores de desajuste 960. El valor de comparación particular puede indicar una diferencia (o una correlación) entre las muestras 326-332 y el subconjunto particular de las segundas muestras 350.
[0130] El procedimiento 920 incluye además determinar el valor de desajuste modificado 540 basándose en los valores de comparación 916 generados basándose en la primera señal de audio 130 y la segunda señal de audio 132, en 912. Por ejemplo, el refinador de desplazamiento 911 puede determinar el valor de desajuste modificado 540 basándose en los valores de comparación 916. A modo ilustrativo, en un primer caso, cuando los valores de comparación 916 corresponden a valores de correlación cruzada, el refinador de desplazamiento 911 puede determinar que el valor de comparación interpolado 838 de la FIG. 8 correspondiente al valor de desajuste interpolado 538 es mayor que o igual a un valor de comparación más alto de los valores de comparación 916. De forma alternativa, cuando los valores de comparación 916 corresponden a valores de diferencia, el refinador de desplazamiento 911
puede determinar que el valor de comparación interpolado 838 es menor que o igual al menor valor de comparación de los valores de comparación 916. En este caso, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 20) es mayor que el valor de desajuste interpolado 538 (por ejemplo, 14), establecer el valor de desajuste modificado 540 en el valor de desajuste menor 930 (por ejemplo, 17). De forma alternativa, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 10) es menor que o igual al valor de desajuste interpolado 538 (por ejemplo, 14), establecer el valor de desajuste modificado 540 al primer valor de desajuste 932 (por ejemplo, 13).
[0131] En un segundo caso, cuando los valores de comparación 916 corresponden a valores de correlación cruzada, el refinador de desplazamiento 911 puede determinar que el valor de comparación interpolado 838 es menor que el valor de comparación más alto de los valores de comparación 916 y puede establecer el valor de desajuste modificado 540 en un valor de desajuste particular (por ejemplo, 18) de los valores de desajuste 960 que corresponde al valor de comparación más alto. De forma alternativa, cuando los valores de comparación 916 corresponden a valores de diferencia, el refinador de desplazamiento 911 puede determinar que el valor de comparación interpolado 838 es mayor que el valor de comparación menor de los valores de comparación 916 y puede establecer el valor de desajuste modificado 540 en un valor de desajuste particular (por ejemplo, 18) de los valores de desajuste 960 que corresponde al valor de comparación menor.
[0132] Los valores de comparación 916 pueden generarse basándose en la primera señal de audio 130, la segunda señal de audio 132 y los valores de desajuste 960. El valor de desajuste modificado 540 puede generarse basándose en los valores de comparación 916 usando un procedimiento similar al realizado por el comparador de señal 506, como se describe con referencia a la FIG. 7.
[0133] El procedimiento 920 puede permitir, por tanto, que el refinador de desplazamiento 911 limite un cambio en un valor de desajuste asociado con tramas consecutivas (o adyacentes). El cambio reducido en el valor de desajuste puede reducir la pérdida de muestra o la duplicación de muestra durante la codificación.
[0134] Con referencia a la FIG. 9B, se muestra un ejemplo ilustrativo de un sistema y se designa en general con 950. El sistema 950 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 950. El sistema 950 puede incluir la memoria 153, el refinador de desplazamiento 511, o ambos. El refinador de desplazamiento 511 puede incluir un ajustador de desplazamiento interpolado 958. El ajustador de desplazamiento interpolado 958 puede configurarse para ajustar selectivamente el valor de desajuste interpolado 538 basándose en el primer valor de desajuste 962, como se describe en el presente documento. El refinador de desplazamiento 511 puede determinar el valor de desajuste modificado 540 basándose en el valor de desajuste interpolado 538 (por ejemplo, el valor de desajuste interpolado ajustado 538), como se describe con referencia a las FIGS. 9A, 9C.
[0135] La FIG. 9B también incluye un diagrama de flujo de un procedimiento ilustrativo de funcionamiento en general designado con 951. El procedimiento 951 puede ser realizado por el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el (los) ecualizador(es) temporal(es) 208, el codificador 214, el primer dispositivo 204 de la FIG. 2, el refinador de desplazamiento 511 de la FIG. 5, el refinador de desplazamiento 911 de la FIG. 9A, el ajustador de desplazamiento interpolado 958, o una combinación de los mismos.
[0136] El procedimiento 951 incluye generar una desviación 957 basándose en una diferencia entre el primer valor de desajuste 962 y un valor de desajuste interpolado no restringido 956, en 952. Por ejemplo, el ajustador de desplazamiento interpolado 958 puede generar la desviación 957 basándose en una diferencia entre el primer valor de desajuste 962 y un valor de desajuste interpolado no restringido 956. El valor de desajuste interpolado no restringido 956 puede corresponder al valor de desajuste interpolado 538 (por ejemplo, antes del ajuste por el ajustador de desplazamiento interpolado 958). El ajustador de desplazamiento interpolado 958 puede almacenar el valor de desajuste interpolado no restringido 956 en la memoria 153. Por ejemplo, los datos de análisis 190 pueden incluir el valor de desajuste interpolado no restringido 956.
[0137] El procedimiento 951 también incluye determinar si un valor absoluto de la desviación 957 es mayor que un umbral, en 953. Por ejemplo, el ajustador de desplazamiento interpolado 958 puede determinar si un valor absoluto de la desviación 957 satisface un umbral. El umbral puede corresponder a una limitación de desplazamiento interpolada MAX_SHIFT_CHANGE (por ejemplo, 4).
[0138] El procedimiento 951 incluye, en respuesta a la determinación de que el valor absoluto de la desviación 957 es mayor que el umbral, en 953, establecer el valor de desajuste interpolado 538 basándose en el primer valor de desajuste 962, un signo de la desviación 957 y el umbral, en 954. Por ejemplo, el ajustador de desplazamiento interpolado 958 puede, en respuesta a la determinación de que el valor absoluto de la desviación 957 no puede satisfacer (por ejemplo, es mayor que) el umbral, restringir el valor de desajuste interpolado 538. A modo ilustrativo, el ajustador de desplazamiento interpolado 958 puede ajustar el valor de desajuste interpolado 538 basándose en el primer valor de desajuste 962, un signo (por ejemplo, 1 o -1) de la desviación 957 y el umbral (por ejemplo, el valor de desajuste interpolado 538 = el primer valor de desajuste 962+signo (la desviación 957)* Umbral).
[0139] El procedimiento 951 incluye, en respuesta a la determinación de que el valor absoluto de la desviación 957 es menor o igual al umbral, en 953, establecer el valor de desajuste interpolado 538 en el valor de desajuste interpolado no restringido 956, en 955. Por ejemplo, el ajustador de desplazamiento interpolado 958 puede, en respuesta a la determinación de que el valor absoluto de la desviación 957 satisface (por ejemplo, es menor que o igual a) el umbral, abstenerse de cambiar el valor de desajuste interpolado 538.
[0140] El procedimiento 951 puede permitir, por tanto, restringir el valor de desajuste interpolado 538 de modo que un cambio en el valor de desajuste interpolado 538 en relación con el primer valor de desajuste 962 satisfaga una limitación de desplazamiento de interpolación.
[0141] Con referencia a la FIG. 9C, se muestra un ejemplo ilustrativo de un sistema y se designa en general con 970. El sistema 970 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 970. El sistema 970 puede incluir la memoria 153, un refinador de desplazamiento 921, o ambos. El refinador de desplazamiento 921 puede corresponder al refinador de desplazamiento 511 de la FIG. 5.
[0142] La FIG. 9C también incluye un diagrama de flujo de un procedimiento ilustrativo de funcionamiento en general designado con 971. El procedimiento 971 puede ser realizado por el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el (los) ecualizador(es) temporal(es) 208, el codificador 214, el primer dispositivo 204 de la FIG. 2, el refinador de desplazamiento 511 de la FIG. 5, el refinador de desplazamiento 911 de la FIG. 9A, el refinador de desplazamiento 921, o una combinación de los mismos.
[0143] El procedimiento 971 incluye determinar si una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 no es cero, en 972. Por ejemplo, el refinador de desplazamiento 921 puede determinar si una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 no es cero.
[0144] El procedimiento 971 incluye, en respuesta a la determinación de que la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 es cero, en 972, establecer el valor de desajuste modificado 540 en el valor de desajuste interpolado 538, en 973. Por ejemplo, el refinador de desplazamiento 921 puede, en respuesta a la determinación de que la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 es cero, determinar el valor de desajuste modificado 540 basándose en el valor de desajuste interpolado 538 (por ejemplo, el valor de desajuste modificado 540 = el valor de desajuste interpolado 538).
[0145] El procedimiento 971 incluye, en respuesta a la determinación de que la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 no es cero, en 972, determinar si un valor absoluto de la desviación 957 es mayor que un umbral, en 975. Por ejemplo, el refinador de desplazamiento 921 puede, en respuesta a la determinación de que la diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 no es cero, determinar si un valor absoluto de la desviación 957 es mayor que un umbral. La desviación 957 puede corresponder a una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado no restringido 956, como se describe con referencia a la FIG. 9B. El umbral puede corresponder a una limitación de desplazamiento interpolada MAX_SHIFT_CHANGE (por ejemplo, 4).
[0146] El procedimiento 971 incluye, en respuesta a la determinación de que una diferencia entre el primer valor de desajuste 962 y el valor de desajuste interpolado 538 no es cero, en 972, o a la determinación de que el valor absoluto de la desviación 957 es menor que o igual al umbral, en 975, establecer el valor de desajuste menor 930 a una diferencia entre un primer umbral y un mínimo del primer valor de desajuste 962 y el valor de desajuste interpolado 538, y establecer el valor de desajuste mayor 932 en una suma de un segundo umbral y un máximo del primer valor de desajuste 962 y el valor de desajuste interpolado 538, en 976. Por ejemplo, el refinador de desplazamiento 921 puede, en respuesta a la determinación de que el valor absoluto de la desviación 957 es menor que o igual al umbral, determinar el valor de desajuste menor 930 basándose en una diferencia entre un primer umbral y un mínimo del primer valor de desajuste 962 y el valor de desajuste interpolado 538. El refinador de desplazamiento 921 también puede determinar el mayor valor de desajuste 932 basándose en una suma de un segundo umbral y un máximo del primer valor de desajuste 962 y el valor de desajuste interpolado 538.
[0147] El procedimiento 971 también incluye generar los valores de comparación 916 basándose en la primera señal de audio 130 y los valores de desajuste 960 aplicados a la segunda señal de audio 132, en 977. Por ejemplo, el refinador de desplazamiento 921 (o el comparador de señal 506) puede generar los valores de comparación 916, como se describe con referencia a la FIG. 7, basándose en la primera señal de audio 130 y los valores de desajuste 960 aplicados a la segunda señal de audio 132. Los valores de desajuste 960 pueden variar desde el menor valor de desajuste 930 al mayor valor de desajuste 932. El procedimiento 971 puede avanzar hasta 979.
[0148] El procedimiento 971 incluye, en respuesta a la determinación de que el valor absoluto de la desviación 957 es mayor que el umbral, en 975, generar un valor de comparación 915 basándose en la primera señal de audio 130 y el valor de desajuste interpolado no restringido 956 aplicado a la segunda señal de audio 132, en 978. Por ejemplo, el refinador de desplazamiento 921 (o el comparador de señal 506) puede generar los valores de comparación 915, como se describe con referencia a la FIG. 7, basándose en la primera señal de audio 130 y los valores de desajuste
interpolados no restringidos 956 aplicados a la segunda señal de audio 132.
[0149] El procedimiento 971 también incluye determinar el valor de desajuste modificado 540 basándose en los valores de comparación 916, el valor de comparación 915, o una combinación de los mismos, en 979. Por ejemplo, el refinador de desplazamiento 921 puede determinar el valor de desajuste modificado 540 basándose en los valores de comparación 916, el valor de comparación 915, o una combinación de los mismos, como se describe con referencia a la FIG. 9A. En algunas implementaciones, el refinador de desplazamiento 921 puede determinar el valor de desajuste modificado 540 basándose en una comparación del valor de comparación 915 y los valores de comparación 916 para evitar máximos locales debido a la variación de desplazamiento.
[0150] En algunos casos, un tono inherente de la primera señal de audio 130, la primera señal remuestreada 530, la segunda señal de audio 132, la segunda señal remuestreada 532, o una combinación de las mismas, pueden interferir con el proceso de estimación de desplazamiento. En dichos casos, se puede realizar la desestimación de tono o el filtrado de tono para reducir la interferencia debida al tono y para mejorar la confiabilidad de la estimación de desplazamiento entre múltiples canales. En algunos casos, puede haber ruido de fondo en la primera señal de audio 130, la primera señal remuestreada 530, la segunda señal de audio 132, la segunda señal remuestreada 532, o una combinación de las mismas, lo cual puede interferir con el proceso de estimación de desplazamiento. En dichos casos, la supresión de ruido o la cancelación de ruido se puede usar para mejorar la confiabilidad de la estimación de desplazamiento entre múltiples canales.
[0151] Con referencia a la FIG. 10A, se muestra un ejemplo ilustrativo de un sistema y se designa en general con 1000. El sistema 1000 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 1000.
[0152] La FIG. 10A también incluye un diagrama de flujo de un procedimiento ilustrativo de funcionamiento en general designado con 1020. El procedimiento 1020 puede realizarse mediante el analizador de cambio de desplazamiento 512, el ecualizador temporal 108, el codificador 114, el primer dispositivo 104, o una combinación de los mismos.
[0153] El procedimiento 1020 incluye determinar si el primer valor de desajuste 962 es igual a 0, en 1001. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar si el primer valor de desajuste 962 correspondiente a la trama 302 tiene un primer valor (por ejemplo, 0) que indica que no hay desplazamiento de tiempo. El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es igual a 0, en 1001, avanzar hasta 1010.
[0154] El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 no es cero, en 1001, determinar si el primer valor de desajuste 962 es mayor que 0, en 1002. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar si el primer valor de desajuste 962 correspondiente a la trama 302 tiene un primer valor (por ejemplo, un valor positivo) que indica que la segunda señal de audio 132 está retardada en el tiempo en relación con la primera señal de audio 130.
[0155] El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que 0, en 1002, determinar si el valor de desajuste modificado 540 es menor que 0, en 1004. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 tiene el primer valor (por ejemplo, un valor positivo), determinar si el valor de desajuste modificado 540 tiene un segundo valor (por ejemplo, un valor negativo) que indica que la primera señal de audio 130 se retarda en el tiempo en relación con la segunda señal de audio 132. El procedimiento 1020 incluye, en respuesta a la determinación de que el valor de desajuste modificado 540 es menor que 0, en 1004, avanzar hasta 1008. El procedimiento 1020 incluye, en respuesta a la determinación de que el valor de desajuste modificado 540 es mayor que o igual a 0, en 1004, avanzar hasta 1010.
[0156] El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es menor que 0, en 1002, determinar si el valor de desajuste modificado 540 es mayor que 0, en 1006. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 tiene el segundo valor (por ejemplo, un valor negativo), determinar si el valor de desajuste modificado 540 tiene un primer valor (por ejemplo, un valor positivo) que indica que la segunda señal de audio 132 se retarda en el tiempo con respecto a la primera señal de audio 130. El procedimiento 1020 incluye, en respuesta a la determinación de que el valor de desajuste modificado 540 es mayor que 0, en 1006, avanzar hasta 1008. El procedimiento 1020 incluye, en respuesta a la determinación de que el valor de desajuste modificado 540 es menor que o igual a 0, en 1006, avanzar hasta 1010.
[0157] El procedimiento 1020 incluye establecer el valor de desajuste final 116 en 0, en 1008. Por ejemplo, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en un valor particular (por ejemplo, 0) que indica que no hay desplazamiento de tiempo.
[0158] El procedimiento 1020 incluye determinar si el primer valor de desajuste 962 es igual al valor de desajuste
modificado 540, en 1010. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar si el primer valor de desajuste 962 y el valor de desajuste modificado 540 indican el mismo retardo de tiempo entre la primera señal de audio 130 y la segunda señal de audio 132.
[0159] El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es igual al valor de desajuste modificado 540, en 1010, establecer el valor de desajuste final 116 en el valor de desajuste modificado 540, en 1012. Por ejemplo, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste modificado 540.
[0160] El procedimiento 1020 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 no es igual al valor de desajuste modificado 540, en 1010, generar un valor de desajuste estimado 1072, en 1014. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar el valor de desajuste estimado 1072 refinando el valor de desajuste modificado 540, como se describe adicionalmente con referencia a la FIG. 11.
[0161] El procedimiento 1020 incluye establecer el valor de desajuste final 116 en el valor de desajuste estimado 1072, en 1016. Por ejemplo, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste estimado 1072.
[0162] En algunas implementaciones, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste no causal 162 para indicar el segundo valor de desajuste estimado en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 no cambió. Por ejemplo, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste no causal 162 para indicar el valor de desajuste modificado 540 en respuesta a la determinación de que el primer valor de desajuste 962 es igual a 0, 1001, de que el valor de desajuste modificado 540 es mayor que o igual a 0, en 1004, o de que el valor de desajuste modificado 540 es menor que o igual a 0, en 1006.
[0163] El analizador de cambio de desplazamiento 512 puede establecer, por tanto, el valor de desajuste no causal 162 para indicar que no hay desplazamiento de tiempo en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 conmutó entre la trama 302 y la trama 304 de la FIG. 3. Prevenir que el valor de desajuste no causal 162 cambie de dirección (por ejemplo, positivo a negativo o negativo a positivo) entre tramas consecutivas puede reducir la distorsión en la generación de señal de mezcla descendente en el codificador 114, evitar el uso de un retardo adicional para la síntesis de mezcla ascendente en un descodificador, o ambos.
[0164] Con referencia a la FIG. 10B, se muestra un ejemplo ilustrativo de un sistema y se designa en general con 1030. El sistema 1030 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 1030.
[0165] La FIG. 10B también incluye un diagrama de flujo de un procedimiento ilustrativo de funcionamiento en general designado con 1031. El procedimiento 1031 puede realizarse mediante el analizador de cambio de desplazamiento 512, el ecualizador temporal 108, el codificador 114, el primer dispositivo 104, o una combinación de los mismos.
[0166] El procedimiento 1031 incluye determinar si el primer valor de desajuste 962 es mayor que cero y el valor de desajuste modificado 540 es menor que cero, en 1032. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar si el primer valor de desajuste 962 es mayor que cero y si el valor de desajuste modificado 540 es menor que cero.
[0167] El procedimiento 1031 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que cero y de que el valor de desajuste modificado 540 es menor que cero, en 1032, establecer el valor de desajuste final 116 en cero, en 1033. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que cero y de que el valor de desajuste modificado 540 es menor que cero, establecer el valor de desajuste final 116 en un primer valor (por ejemplo, 0) que indica que no hay desplazamiento de tiempo.
[0168] El procedimiento 1031 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es menor que o igual a cero o de que el valor de desajuste modificado 540 es mayor que o igual a cero, en 1032, determinar si el primer valor de desajuste 962 es menor que cero y si el valor de desajuste modificado 540 es mayor que cero, en 1034. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 es menor que o igual a cero o de que el valor de desajuste modificado 540 es mayor que o igual a cero, determinar si el primer valor de desajuste 962 es menor que cero y si el valor de desajuste modificado 540 es mayor que cero.
[0169] El procedimiento 1031 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es menor que cero y de que el valor de desajuste modificado 540 es mayor que cero, avanzar hasta 1033. El procedimiento 1031 incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que o
igual a cero o de que el valor de desajuste modificado 540 es menor que o igual a cero, establecer el valor de desajuste final 116 en el valor de desajuste modificado 540, en 1035. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que o igual a cero o que el valor de desajuste modificado 540 es menor que o igual a cero, establecer el valor de desajuste final 116 en el valor de desajuste modificado 540.
[0170] Con referencia a la FIG. 11, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 1100. El sistema 1100 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 1100. La FIG. 11 también incluye un diagrama de flujo que ilustra un procedimiento de funcionamiento que en general se designa con 1120. El procedimiento 1120 puede realizarse mediante el analizador de cambio de desplazamiento 512, el ecualizador temporal 108, el codificador 114, el primer dispositivo 104, o una combinación de los mismos. El procedimiento 1120 puede corresponder al paso 1014 de la FIG. 10A.
[0171] El procedimiento 1120 incluye determinar si el primer valor de desajuste 962 es mayor que el valor de desajuste modificado 540, en 1104. Por ejemplo, el analizador de cambio de desplazamiento 512 puede determinar si el primer valor de desajuste 962 es mayor que el valor de desajuste modificado 540.
[0172] El procedimiento 1120 también incluye, en respuesta a la determinación de que el primer valor de desajuste 962 es mayor que el valor de desajuste modificado 540, en 1104, establecer un primer valor de desajuste 1130 en una diferencia entre el valor de desajuste modificado 540 y una primera desviación, y establecer un segundo valor de desajuste 1132 en una suma del primer valor de desajuste 962 y la primera desviación, en 1106. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 20) es mayor que el valor de desajuste modificado 540 (por ejemplo, 18), determinar el primer valor de desajuste 1130 (por ejemplo, 17) basándose en el valor de desajuste modificado 540 (por ejemplo, valor de desajuste modificado 540 - una primera desviación). De forma alternativa o además, el analizador de cambio de desplazamiento 512 puede determinar el segundo valor de desajuste 1132 (por ejemplo, 21) basándose en el primer valor de desajuste 962 (por ejemplo, el primer valor de desajuste 962 la primera desviación). El procedimiento 1120 puede avanzar hasta 1108.
[0173] El procedimiento 1120 incluye además, en respuesta a la determinación de que el primer valor de desajuste 962 es menor que o igual al valor de desajuste modificado 540, en 1104, establecer un primer valor de desajuste 1130 en una diferencia entre el primer valor de desajuste 962 y una segunda desviación, y establecer el segundo valor de desajuste 1132 en una suma del valor de desajuste modificado 540 y la segunda desviación. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el primer valor de desajuste 962 (por ejemplo, 10) es menor que o igual al valor de desajuste modificado 540 (por ejemplo, 12), determinar el primer valor de desajuste 1130 (por ejemplo, 9) basándose en el valor de desajuste 962 (por ejemplo, primer valor de desajuste 962 - una segunda desviación). De forma alternativa o además, el analizador de cambio de desplazamiento 512 puede determinar el segundo valor de desajuste 1132 (por ejemplo, 13) basándose en el valor de desajuste modificado 540 (por ejemplo, el valor de desajuste modificado 540 la segunda desviación). La primera desviación (por ejemplo, 2) puede ser distinta de la segunda desviación (por ejemplo, 3). En algunas implementaciones, la primera desviación puede ser igual a la segunda desviación. Un valor más alto de la primera desviación, la segunda desviación, o ambas, puede mejorar un rango de búsqueda.
[0174] El procedimiento 1120 también incluye generar valores de comparación 1140 basándose en la primera señal de audio 130 y valores de desajuste 1160 aplicados a la segunda señal de audio 132, en 1108. Por ejemplo, el analizador de cambio de desplazamiento 512 puede generar los valores de comparación 1140, como se describe con referencia a la FIG. 7, basándose en la primera señal de audio 130 y los valores de desajuste 1160 aplicados a la segunda señal de audio 132. A modo ilustrativo, los valores de desajuste 1160 pueden variar desde el primer valor de desajuste 1130 (por ejemplo, 17) al segundo valor de desajuste 1132 (por ejemplo, 21). El analizador de cambio de desplazamiento 512 puede generar un valor de comparación particular de los valores de comparación 1140 basándose en las muestras 326-332 y un subconjunto particular de las segundas muestras 350. El subconjunto particular de las segundas muestras 350 puede corresponder a un valor de desajuste particular (por ejemplo, 17) de los valores de desajuste 1160. El valor de comparación particular puede indicar una diferencia (o una correlación) entre las muestras 326-332 y el subconjunto particular de las segundas muestras 350.
[0175] El procedimiento 1120 incluye además determinar el valor de desajuste estimado 1072 basándose en los valores de comparación 1140, en 1112. Por ejemplo, el analizador de cambio de desplazamiento 512 puede, cuando los valores de comparación 1140 corresponden a valores de correlación cruzada, seleccionar un valor de comparación más alto de los valores de comparación 1140 como el valor de desajuste estimado 1072. De forma alternativa, el analizador de cambio de desplazamiento 512 puede, cuando los valores de comparación 1140 corresponden a valores de diferencia, seleccionar un valor de comparación menor de los valores de comparación 1140 como el valor de desajuste estimado 1072.
[0176] El procedimiento 1120 puede permitir, por tanto, que el analizador de cambio de desplazamiento 512 genere el valor de desajuste estimado 1072 refinando el valor de desajuste modificado 540. Por ejemplo, el analizador de
cambio de desplazamiento 512 puede determinar los valores de comparación 1140 basándose en muestras originales y puede seleccionar el valor de desajuste estimado 1072 correspondiente a un valor de comparación de los valores de comparación 1140 que indica una correlación más alta (o diferencia menor).
[0177] Con referencia a la FIG. 12, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 1200. El sistema 1200 puede corresponder al sistema 100 de la FIG. 1. Por ejemplo, el sistema 100, el primer dispositivo 104 de la FIG. 1, o ambos, pueden incluir uno o más componentes del sistema 1200. La FIG. 12 también incluye un diagrama de flujo que ilustra un procedimiento de funcionamiento que en general se designa con 1220. El procedimiento 1220 puede realizarse mediante el designador de señal de referencia 508, el ecualizador temporal 108, el codificador 114, el primer dispositivo 104, o una combinación de los mismos.
[0178] El procedimiento 1220 incluye determinar si el primer valor de desajuste final 116 es igual a 0, en 1202. Por ejemplo, el designador de señal de referencia 508 puede determinar si el valor de desajuste final 116 tiene un valor particular (por ejemplo, 0) que indica que no hay desplazamiento de tiempo.
[0179] El procedimiento 1220 incluye, en respuesta a la determinación de que el valor de desajuste final 116 es igual a 0, en 1202, dejar el indicador de señal de referencia 164 sin cambios, en 1204. Por ejemplo, el designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene el valor particular (por ejemplo, 0) que indica que no hay desplazamiento de tiempo, dejar el indicador de señal de referencia 164 sin cambios. A modo ilustrativo, el indicador de señal de referencia 164 puede indicar que la misma señal de audio (por ejemplo, la primera señal de audio 130 o la segunda señal de audio 132) es una señal de referencia asociada con la trama 304 como con la trama 302.
[0180] El procedimiento 1220 incluye, en respuesta a la determinación de que el valor de desajuste final 116 no es cero, en 1202, determinar si el valor de desajuste final 116 es mayor que 0, en 1206. Por ejemplo, el designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene un valor particular (por ejemplo, un valor distinto de cero) que indica un desplazamiento de tiempo, determinar si el valor de desajuste final 116 tiene un primer valor (por ejemplo, un valor positivo) que indica que la segunda señal de audio 132 está retardada en relación con la primera señal de audio 130 o un segundo valor (por ejemplo, un valor negativo) que indica que la primera señal de audio 130 está retardada en relación con la segunda señal de audio 132.
[0181] El procedimiento 1220 incluye, en respuesta a la determinación de que el valor de desajuste final 116 tiene el primer valor (por ejemplo, un valor positivo), establecer el indicador de señal de referencia 164 para que tenga un primer valor (por ejemplo, 0) que indique que la primera señal de audio 130 es una señal de referencia, en 1208. Por ejemplo, el designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene el primer valor (por ejemplo, un valor positivo), establecer el indicador de señal de referencia 164 en un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 es una señal de referencia. El designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene el primer valor (por ejemplo, el valor positivo), determinar que la segunda señal de audio 132 corresponde a una señal objetivo.
[0182] El procedimiento 1220 incluye, en respuesta a la determinación de que el valor de desajuste final 116 tiene el segundo valor (por ejemplo, un valor negativo), establecer el indicador de señal de referencia 164 para que tenga un segundo valor (por ejemplo, 1) que indique que la segunda señal de audio 132 es una señal de referencia, en 1210. Por ejemplo, el designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene el segundo valor (por ejemplo, un valor negativo) que indica que la primera señal de audio 130 está retardada en relación con la segunda señal de audio 132, establecer el indicador de señal de referencia 164 en un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio 132 es una señal de referencia. El designador de señal de referencia 508 puede, en respuesta a la determinación de que el valor de desajuste final 116 tiene el segundo valor (por ejemplo, el valor negativo), determinar que la primera señal de audio 130 corresponde a una señal objetivo.
[0183] El designador de señal de referencia 508 puede proporcionar el indicador de señal de referencia 164 al generador de parámetros de ganancia 514. El generador de parámetros de ganancia 514 puede determinar un parámetro de ganancia (por ejemplo, un parámetro de ganancia 160) de una señal objetivo basándose en una señal de referencia, como se describe con referencia a la FIG. 5.
[0184] Una señal objetivo puede retardarse en el tiempo en relación con una señal de referencia. El indicador de señal de referencia 164 puede indicar si la primera señal de audio 130 o la segunda señal de audio 132 corresponde a la señal de referencia. El indicador de señal de referencia 164 puede indicar si el parámetro de ganancia 160 corresponde a la primera señal de audio 130 o la segunda señal de audio 132.
[0185] Con referencia a la FIG. 13, se muestra un diagrama de flujo que ilustra un procedimiento particular de funcionamiento y en general se designa con 1300. El procedimiento 1300 puede realizarse mediante el designador de señal de referencia 508, el ecualizador temporal 108, el codificador 114, el primer dispositivo 104, o una combinación de los mismos.
[0186] El procedimiento 1300 incluye determinar si el valor de desajuste final 116 es mayor que o igual a cero, en 1302. Por ejemplo, el designador de señal de referencia 508 puede determinar si el valor de desajuste final 116 es mayor que o igual a cero. El procedimiento 1300 también incluye, en respuesta a la determinación de que el valor de desajuste final 116 es mayor que o igual a cero, en 1302, avanzar hasta 1208. El procedimiento 1300 incluye además, en respuesta a la determinación de que el valor de desajuste final 116 es menor que cero, en 1302, avanzar hasta 1210. El procedimiento 1300 difiere del procedimiento 1220 de la FIG. 12 en el que, en respuesta a la determinación de que el valor de desajuste final 116 tiene un valor particular (por ejemplo, 0) que indica que no hay desplazamiento de tiempo, el indicador de señal de referencia 164 se establece en un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 corresponde a una señal de referencia. En algunas implementaciones, el designador de señal de referencia 508 puede realizar el procedimiento 1220. En otras implementaciones, el designador de señal de referencia 508 puede realizar el procedimiento 1300.
[0187] El procedimiento 1300 puede permitir, por tanto, establecer el indicador de señal de referencia 164 en un valor particular (por ejemplo, 0) que indica que la primera señal de audio 130 corresponde a una señal de referencia cuando el primer valor de desajuste 116 indica que no hay desplazamiento de tiempo independientemente de si la primera señal de audio 130 corresponde a la señal de referencia para la trama 302.
[0188] Con referencia a la FIG. 14, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 1400. El sistema 1400 incluye el comparador de señales 506 de la FIG. 5, el interpolador 510 de la FIG. 5, el refinador de desplazamiento 511 de la FIG. 5, y el analizador de cambio de desplazamiento 512 de la FIG. 5.
[0189] el comparador de señales 506 puede generar los valores de comparación 534 (por ejemplo, valores de diferencia, valores de similitud, valores de coherencia, o valores de correlación cruzada), el valor de desajuste tentativo 536, o ambos. Por ejemplo, el comparador de señales 506 puede generar los valores de comparación 534 basados en la primera señal remuestreada 530 y una pluralidad de valores de desajuste 1450 aplicados al segunda señal remuestreada 532. El comparador de señales 506 puede determinar el valor de desajuste tentativo 536 basándose en los valores de comparación 534. El comparador de señales 506 incluye un suavizador 1410 configurado para recuperar valores de comparación para tramas anteriores de las señales remuestreadas 530, 532 y puede modificar los valores de comparación 534 basándose en una operación de suavizado a largo plazo utilizando los valores de comparación para tramas anteriores. Por ejemplo, los valores de comparación 534 pueden incluir el valor de comparación a largo plazo CompValLTN(k) para una trama actual (N) y pueden estar representados por CompValLTN(k) = (1 - a) * CompValN(k), +(a) * CompVaÍTN-1(k), donde a e (0, 1,0). Por lo tanto, el valor de comparación a largo plazo CompValLTN(k) puede basarse en una mezcla ponderada del valor de comparación instantáneo CompVaN (k) en la trama N y los valores de comparación a largo plazo CompValLTN-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 a largo plazo.
[0190] El parámetro de suavizado (por ejemplo, el valor de a) puede controlarse/adaptarse para limitar el suavizado de los valores de comparación durante las partes de silencio (o durante el ruido de fondo que puede causar una desviación en la estimación de desplazamiento), 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 basarse en a = 0,9. El control del parámetro de suavizado (por ejemplo, a) puede basarse en si la energía de fondo o la energía a largo plazo está por debajo de un umbral, basándose en un tipo de codificador, o basándose en estadísticas de valores de comparación.
[0191] En una implementación particular, el valor del parámetro de suavizado (por ejemplo, a) puede basarse en el nivel de señal a corto plazo (Est) y el nivel de señal a largo plazo (Elt) de los canales. Como ejemplo, el nivel de la señal a corto plazo puede calcularse para la trama (N) que se está procesando (Est (N)) como la suma de la suma de los valores absolutos de las muestras de referencia reducidas y la suma de los valores absolutos de la muestras objetivo reducidas. 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.
[0192] En una implementación particular, el valor del parámetro de suavizado (por ejemplo, a) puede controlarse basándose en la correlación de los valores de comparación a corto y 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 aún más el suavizado (por ejemplo, aumentar el valor de a). Por otra parte, cuando los valores de comparación en función de los diversos valores de desplazamiento no se parecen a los valores de comparación a largo plazo, el parámetro de suavizado se puede ajustar para reducir el suavizado (por ejemplo, disminuir el valor de a). El comparador de señales 506 puede proporcionar los valores de comparación 534, el valor de desajuste tentativo 536, o ambos, al interpolador 510.
[0193] El interpolador 510 puede extender el valor de desajuste tentativo 536 para generar el valor de desajuste interpolado 538. Por ejemplo, el interpolador 510 puede generar valores de comparación interpolados correspondientes a valores de desajuste que están próximos al valor de desajuste tentativo 536 interpolando los
valores de comparación 534. El interpolador 510 puede determinar el valor de desajuste interpolado 538 basándose en los valores de comparación interpolados y los valores de comparación 534. Los valores de comparación 534 pueden basarse en una granularidad más aproximada de los valores de desajuste. Los valores de comparación interpolados pueden basarse en una granularidad más fina de los valores de desajuste que se aproximan al valor de desajuste tentativo remuestreado 536. La determinación de los valores de comparación 534 basándose en la granularidad más aproximada (por ejemplo, el primer subconjunto) del conjunto de valores de desajuste puede usar menos recursos (por ejemplo, tiempo, operaciones o ambos) que la determinación de los valores de comparación 534 basándose en una granularidad más fina (por ejemplo, todos) del conjunto de valores de desajuste. La determinación de los valores de comparación interpolados correspondientes al segundo subconjunto de valores de desajuste puede extender el valor de desajuste tentativo 536 basándose en una granularidad más fina de un conjunto más pequeño de valores de desajuste que se aproximan al valor de desajuste tentativo 536 sin determinar los valores de comparación correspondientes a cada valor de desajuste del conjunto de valores de desajuste. Por tanto, determinar el valor de desajuste tentativo 536 basándose en el primer subconjunto de valores de desajuste y determinar el valor de desajuste interpolado 538 basándose en los valores de comparación interpolados puede equilibrar el uso de recursos y el refinamiento del valor de desajuste estimado. El interpolador 510 puede proporcionar el valor de desajuste interpolado 538 al refinador de desplazamiento 511.
[0194] El interpolador 510 incluye un 1420 más suave configurado para recuperar valores de desajuste interpolados para tramas anteriores y puede modificar el valor de desajuste interpolado 538 basándose en una operación de suavizado a largo plazo utilizando los valores de desajuste interpolados para tramas anteriores. Por ejemplo, el valor de desajuste interpolado 538 puede incluir un valor de desajuste interpolado a largo plazo InterValLTN(k) para una trama actual (N) y puede estar representado por InterValLTN(k) = (1 - a) * InterVaN(k), +(a) * InterValLTN-1(k), donde a e (0, 1,0). Por lo tanto, el valor de desajuste interpolado a largo plazo InterValLTN(k) puede basarse en una mezcla ponderada del valor de desajuste interpolado instantáneo InterVaN(k) en la trama N y los valores de desajuste interpolado a largo plazo InterValLTN-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 a largo plazo.
[0195] El refinador de desplazamiento 511 puede generar el valor de desajuste modificado 540 refinando el valor de desajuste interpolado 538. Por ejemplo, el refinador de desplazamiento 511 puede determinar si el valor de desajuste interpolado 538 indica que un cambio en un desplazamiento entre la primera señal de audio 130 y la segunda señal de audio 132 es mayor que un umbral de cambio de desplazamiento. El cambio en el desplazamiento puede indicarse por una diferencia entre el valor de desajuste interpolado 538 y un primer valor de desajuste asociado con la trama 302 de la FIG. 3. El refinador de desplazamiento 511 puede, en respuesta a la determinación de que la diferencia es menor o igual al umbral, establecer el valor de desajuste modificado 540 en el valor de desajuste interpolado 538. De forma alternativa, el refinador de desplazamiento 511 puede, en respuesta a la determinación de que la diferencia es mayor que el umbral, determinar una pluralidad de valores de desajuste que corresponden a una diferencia que es menor o igual al umbral de cambio de desplazamiento. El refinador de desplazamiento 511 puede determinar valores de comparación basándose en la primera señal de audio 130 y la pluralidad de valores de desajuste aplicados a la segunda señal de audio 132. El refinador de desplazamiento 511 puede determinar el valor de desajuste modificado 540 basándose en los valores de comparación. Por ejemplo, el refinador de desplazamiento 511 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 538. El refinador de desplazamiento 511 puede establecer el valor de desajuste modificado 540 para indicar el valor de desajuste seleccionado. Una diferencia distinta de cero entre el primer valor de desajuste correspondiente a la trama 302 y el valor de desajuste interpolado 538 puede indicar que algunas muestras de la segunda señal de audio 132 corresponden a ambas tramas (por ejemplo, la trama 302 y la trama 304). Por ejemplo, algunas muestras de la segunda señal de audio 132 pueden duplicarse durante la codificación. De forma alternativa, la diferencia distinta de cero puede indicar que algunas muestras de la segunda señal de audio 132 no corresponden ni a la trama 302 ni a la trama 304. Por ejemplo, algunas muestras de la segunda señal de audio 132 pueden perderse durante la codificación. Establecer el valor de desajuste modificado 540 en uno de la pluralidad de valores de desajuste puede evitar un gran cambio en los desplazamientos entre tramas consecutivas (o adyacentes), reduciendo así una cantidad de pérdida de muestra o duplicación de muestra durante la codificación. El refinador de desplazamiento 511 puede proporcionar el valor de desajuste modificado 540 al analizador de cambio de desplazamiento 512.
[0196] El refinador de desplazamiento 511 incluye un 1430 más suave configurado para recuperar valores de desajuste modificados para tramas anteriores y puede modificar el valor de desajuste modificado 540 basándose en una operación de suavizado a largo plazo utilizando los valores de desajuste modificados para tramas anteriores. Por ejemplo, el valor de desajuste modificado 540 puede incluir un valor de desajuste modificado a largo plazo AmendValLTN(k) para una trama actual (N) y puede representarse mediante AmendVaÍTN(K) = (1 - a) * AmendVaN (k), +(a) * AmendVaLLTN-1(k), donde a e (0,1,0). Por lo tanto, el valor de desajuste modificado a largo plazo AppendValLTN(k) puede basarse en una mezcla ponderada del valor de desajuste modificado instantáneo AmendVaN(k) en la trama N y los valores de desajuste modificado a largo plazo AmendValLTN-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 a largo plazo.
[0197] El analizador de cambio de desplazamiento 512 puede determinar si el valor de desajuste modificado 540 indica un cambio o retroceso en la temporización entre la primera señal de audio 130 y la segunda señal de audio 132. El analizador de cambio de desplazamiento 512 puede determinar si el retardo entre la primera señal de audio 130 y
la segunda señal de audio 132 ha cambiado de signo basándose en el valor de desajuste modificado 540 y el primer valor de desajuste asociado con la trama 302. El analizador de cambio de desplazamiento 512 puede, en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 ha cambiado de signo, establecer el valor de desajuste final 116 en un valor (por ejemplo, 0) que indica que no hay desplazamiento de tiempo. De forma alternativa, el analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste modificado 540 en respuesta a la determinación de que el retardo entre la primera señal de audio 130 y la segunda señal de audio 132 no ha cambiado de signo.
[0198] El analizador de cambio de desplazamiento 512 puede generar un valor de desajuste estimado refinando el valor de desajuste modificado 540. El analizador de cambio de desplazamiento 512 puede establecer el valor de desajuste final 116 en el valor de desajuste estimado. Establecer el valor de desajuste final 116 para indicar que no hay desplazamiento de tiempo puede reducir la distorsión en un descodificador al abstenerse del desplazamiento de tiempo de la primera señal de audio 130 y la segunda señal de audio 132 en direcciones opuestas para tramas consecutivas (o adyacentes) de la primera señal de audio 130. El analizador de cambio de desplazamiento 512 puede proporcionar el valor de desajuste final 116 en el generador de desplazamiento absoluto 513. El generador de desplazamiento absoluto 513 puede generar el valor de desajuste no causal 162 aplicando una función absoluta al valor de desajuste final 116.
[0199] Las técnicas de suavizado descritas anteriormente pueden normalizar sustancialmente la estimación de desplazamiento entre tramas sonoras, tramas sordas y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de la muestra y la omisión de distorsiones en los límites de la trama. Además, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, lo cual puede mejorar la eficiencia de codificación.
[0200] Como se describe con respecto a la FIG. 14, el suavizado se puede realizar en el comparador de señal 506, el interpolador 510, el refinador de desplazamiento 511 o una combinación de los mismos. Si el desplazamiento interpolado es consistentemente diferente del desplazamiento tentativo a una frecuencia de muestreo de entrada (FSin), el suavizado del valor de desajuste interpolado 538 puede realizarse además del suavizado de los valores de comparación 534 o en alternativa al suavizado de los valores de comparación 534. Durante la estimación del valor de desajuste interpolado 538, el proceso de interpolación puede realizarse en valores de comparación suavizados a largo plazo generados en el comparador de señal 506, en valores de comparación no suavizados generados en el comparador de señal 506, o en una mezcla ponderada de valores de comparación y valores de comparación interpolados no suavizados. Si se realiza el suavizado en el interpolador 510, la interpolación puede extenderse para realizarse en la proximidad de múltiples muestras además del desplazamiento tentativo estimado en una trama actual. Por ejemplo, la interpolación se puede realizar cerca del desplazamiento de una trama previa (por ejemplo, uno o más del desplazamiento tentativo anterior, el desplazamiento interpolado anterior, el desplazamiento modificado anterior o el desplazamiento final anterior) y cerca del desplazamiento tentativo de la trama actual. Como resultado, se puede realizar un suavizado en muestras adicionales para los valores de desajuste interpolados, lo cual puede mejorar la estimación de desplazamiento interpolado.
[0201] Refiriéndose a la FIG. 15, se muestran gráficos que ilustran los valores de comparación para las tramas sonoras, las tramas de transición y las tramas sordas. De acuerdo con la FIG. 15, el gráfico 1502 ilustra los valores de comparación (por ejemplo, valores de correlación cruzada) para una trama sonora procesada sin utilizar las técnicas de suavizado a largo plazo descritas, el gráfico 1504 ilustra los valores de comparación para una trama de transición procesada sin utilizar las técnicas de suavizado a largo plazo descritas, y el gráfico 1506 ilustra valores de comparación para una trama sorda procesada sin utilizar las técnicas de suavizado a largo plazo descritas.
[0202] La correlación cruzada representada en cada gráfico 1502, 1504, 1506 puede ser sustancialmente diferente. Por ejemplo, el gráfico 1502 ilustra que una correlación cruzada máxima entre una trama sonora capturada por el primer micrófono 146 de la FIG. 1 y una trama sonora correspondiente capturada por el segundo micrófono 148 de la FIG. 1 ocurre aproximadamente en un desplazamiento de muestra de 17. Sin embargo, el gráfico 1504 ilustra que una correlación cruzada máxima entre una trama de transición capturada por el primer micrófono 146 y una trama de transición correspondiente capturada por el segundo micrófono 148 se produce en aproximadamente un desplazamiento de 4 muestras. Además, el gráfico 1506 ilustra que una correlación cruzada máxima entre una trama sorda capturada por el primer micrófono 146 y una trama sorda correspondiente capturada por el segundo micrófono 148 se produce en aproximadamente un desplazamiento de muestra de -3. Por lo tanto, la estimación de desplazamiento puede ser inexacta para tramas de transición y tramas sordas debido a un nivel relativamente alto de ruido.
[0203] De acuerdo con la FIG. 15, el gráfico 1512 ilustra valores de comparación (por ejemplo, valores de correlación cruzada) para una trama sonora procesada usando las técnicas de suavizado a largo plazo descritas, el gráfico 1514 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 1516 ilustra valores de comparación para una trama sorda procesada usando las técnicas de suavizado a largo plazo descritas. Los valores de correlación cruzada en cada gráfico 1512, 1514, 1516 pueden ser sustancialmente similares. Por ejemplo, cada gráfico 1512, 1514, 1516 ilustra que una correlación cruzada máxima entre una trama capturada por el primer micrófono 146 de la FIG. 1 y una trama correspondiente capturada por el
segundo micrófono 148 de la FIG. 1 ocurre aproximadamente en un desplazamiento de muestra de 17. Por tanto, la estimación de desplazamiento para las tramas de transición (ilustradas por el gráfico 1514) y las tramas sordas (ilustradas por el gráfico 1516) puede ser relativamente precisa (o similar) a la estimación de desplazamiento de la trama sonora a pesar del ruido.
[0204] El proceso de suavizado a largo plazo del valor de comparación descrito con respecto a la FIG. 15 puede aplicarse cuando los valores de comparación se estiman en los mismos rangos de desplazamiento en cada trama. La lógica de suavizado (por ejemplo, los suavizadores 1410, 1420, 1430) puede realizarse antes de la estimación de un desplazamiento entre los canales basándose en los valores de comparación generados. Por ejemplo, el suavizado se puede realizar antes de la estimación del desplazamiento tentativo, la estimación del desplazamiento interpolado o el desplazamiento modificado. Para reducir la adaptación de los valores de comparación durante las partes silenciosas (o el ruido de fondo que puede causar una desviación en la estimación de desplazamiento), los valores de comparación pueden suavizarse basándose en una constante de tiempo más alta (por ejemplo, a = 0,995); de lo contrario, el suavizado puede basarse en a = 0,9. La determinación de si ajustar los valores de comparación puede basarse en si la energía de fondo o la energía a largo plazo está por debajo de un umbral.
[0205] Con referencia a la FIG. 16, se muestra un diagrama de flujo que ilustra un procedimiento particular de funcionamiento y en general se designa con 1600. El procedimiento 1600 se puede realizar mediante el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1 o una combinación de los mismos.
[0206] El procedimiento 1600 incluye capturar un canal de referencia en un primer micrófono en 1602. El canal de referencia puede incluir una trama de referencia. Por ejemplo, refiriéndose a la FIG. 1, el primer micrófono 146 puede capturar la primera señal de audio 130 (por ejemplo, el "canal de referencia" de acuerdo con el procedimiento 1600). La primera señal de audio 130 puede incluir una trama de referencia (por ejemplo, la primera trama 131).
[0207] Un canal objetivo puede capturarse en un segundo micrófono, en 1604. El canal objetivo puede incluir una trama objetivo. Por ejemplo, refiriéndose a la FIG. 1, el segundo micrófono 148 puede capturar la segunda señal de audio 132 (por ejemplo, el "canal objetivo" de acuerdo con el procedimiento 1600). La segunda señal de audio 132 puede incluir una trama objetivo (por ejemplo, la segunda trama 133). La trama de referencia y las tramas objetivo pueden ser tramas sonoras, tramas de transición o tramas sordas.
[0208] Se puede estimar un retardo entre la trama de referencia y la trama objetivo, en 1606. Por ejemplo, refiriéndose a la FIG. 1, el ecualizador temporal 108 puede determinar una correlación cruzada entre la trama de referencia y la trama objetivo. Se puede estimar una desviación temporal entre el canal de referencia y el canal objetivo basándose en el retardo basado en los datos de retardo históricos, en 1608. Por ejemplo, refiriéndose a la FIG. 1, el ecualizador temporal 108 puede estimar una desviación temporal entre el audio capturado en los micrófonos 146, 148 (por ejemplo, entre los canales de referencia y objetivo). La desviación temporal se puede estimar basándose en un retardo entre la primera trama 131 (por ejemplo, la trama de referencia) de la primera señal de audio 130 y la segunda trama 133 (por ejemplo, la trama objetivo) de la segunda señal de audio 132. Por ejemplo, el ecualizador temporal 108 puede usar una función de correlación cruzada para estimar el retardo entre la trama de referencia y la trama objetivo. La función de correlación cruzada puede usarse para medir la similitud de las dos tramas en función del retardo de una trama con respecto a la otra. Basándose en la función de correlación cruzada, el ecualizador temporal 108 puede determinar el retardo (por ejemplo, retardo) entre la trama de referencia y la trama objetivo. El ecualizador temporal 108 puede estimar la desviación temporal entre la primera señal de audio 130 (por ejemplo, el canal de referencia) y la segunda señal de audio 132 (por ejemplo, el canal objetivo) basándose en el retardo y los datos históricos de retardo.
[0209] Los datos históricos pueden incluir retardos entre las tramas capturadas desde el primer micrófono 146 y las tramas correspondientes capturadas desde el segundo micrófono 148. Por ejemplo, el ecualizador temporal 108 puede determinar una correlación cruzada (por ejemplo, un retardo) entre las tramas previas asociadas con la primera señal de audio 130 y las tramas correspondientes asociadas con la segunda señal de audio 132. Cada retardo puede representarse mediante 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 de audio 130 y una trama correspondiente de la segunda señal de audio 132. De acuerdo con una implementación, los valores de comparación para tramas anteriores pueden almacenarse en la memoria 153. Un 190 más suave del ecualizador temporal 108 puede "suavizar" (o promediar) los valores de comparación en un conjunto de tramas a largo plazo y utilizar los valores de comparación suavizados a largo plazo para estimar una desviación temporal (por ejemplo, "desplazamiento") entre la primera señal de audio 130 y la segunda señal de audio 132.
[0210] Por tanto, los datos de retardo históricos pueden generarse basándose en valores de comparación suavizados asociados con la primera señal de audio 130 y la segunda señal de audio 132. Por ejemplo, el procedimiento 1600 puede incluir valores de comparación de suavizado asociados con la primera señal de audio 130 y la segunda señal de audio 132 para generar los datos de retardo históricos. Los valores de comparación suavizados pueden basarse en tramas de la primera señal de audio 130 generada antes que la primera trama y basados en tramas de la segunda señal de audio 132 generada antes que la segunda trama. De acuerdo con una implementación, el procedimiento 1600 puede incluir la desviación temporal de la segunda trama mediante la desviación temporal.
[0211] Para ilustrar, si CompVaN(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) a k= T_ MAX (un desplazamiento máximo). El suavizado se puede realizar de manera que un valor de comparación a largo plazo CompValLTN(k) esté representado por CompValLTN(k) = f(CompVaN (k), CompVaN-1(k), CompValLTN-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 de puede ser CompValLTN(k) = g(CompVaN (k), CompVaN- 1(k), CompValN-2 (k), ...). Las funciones F o G pueden ser simples filtros de respuesta de impulso finito (FIR) o filtros de respuesta de impulso infinito (IIR), respectivamente. Por ejemplo, la función g puede ser un filtro IIR de un solo toque, de modo que el valor de comparación a largo plazo CompValLTN(k) esté representado por CompValLTN(k) = (1 - a) * CompValN(k), +(a) * CompValLTN-1(k), donde a e (0,1,0). Por lo tanto, el valor de comparación a largo plazo CompValLTN(k) puede basarse en una mezcla ponderada del valor de comparación instantáneo CompVaN (k) en la trama N y los valores de comparación a largo plazo CompValLTN-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 a largo plazo.
[0212] De acuerdo con una implementación, el procedimiento 1600 puede incluir ajustar un rango de valores de comparación que se utilizan para estimar el retardo entre la primera trama y la segunda trama, como se describe con mayor detalle con respecto a las FIGS. 17-18. El retardo puede estar asociado con un valor de comparación en el rango de valores de comparación que tienen una correlación cruzada más alta. El ajuste del rango puede incluir determinar si los valores de comparación en un límite del rango aumentan de manera monótona y ampliar el límite en respuesta a una determinación de que los valores de comparación en el límite aumentan de manera monótona. El límite puede incluir un límite izquierdo o un límite derecho.
[0213] El procedimiento 1600 de la FIG. 16 puede normalizar sustancialmente la estimación de desplazamiento entre tramas sonoras, tramas sordas y tramas de transición. Las estimaciones de desplazamiento normalizadas pueden reducir la repetición de la muestra y la omisión de distorsiones en los límites de la trama. Además, las estimaciones de desplazamiento normalizadas pueden dar como resultado energías de canal lateral reducidas, lo cual puede mejorar la eficiencia de codificación.
[0214] Refiriéndose a la FIG. 17, se muestra un diagrama de proceso 1700 para expandir selectivamente un rango de búsqueda de valores de comparación usados para la estimación de desplazamiento. Por ejemplo, el diagrama de proceso 1700 puede usarse para expandir el rango de búsqueda de valores de comparación basándose en valores de comparación generados para una trama actual, valores de comparación generados para tramas pasadas o una combinación de los mismos.
[0215] De acuerdo con el diagrama de proceso 1700, se puede configurar un detector para determinar si los valores de comparación en las proximidades de un límite derecho o un límite izquierdo aumentan o disminuyen. Los límites del rango de búsqueda para la generación futura de valores de comparación pueden empujarse hacia afuera para acomodar más valores de desajuste basados en la determinación. Por ejemplo, los límites del rango de búsqueda pueden empujarse hacia afuera para valores de comparación en tramas posteriores o valores de comparación en una misma trama cuando se regeneran los valores de comparación. El detector puede iniciar la extensión del límite de búsqueda basándose en los valores de comparación generados para una trama actual o basándose en los valores de comparación generados para una o más tramas anteriores.
[0216] En 1702, el detector puede determinar si los valores de comparación en el límite derecho aumentan de manera monótona. Como ejemplo no limitativo, el rango de búsqueda puede extenderse de -20 a 20 (por ejemplo, de 20 desplazamientos de muestra en la dirección negativa a 20 desplazamientos de muestra en la dirección positiva). Como se usa aquí, un desplazamiento en la dirección negativa corresponde a una primera señal, tal como la primera señal de audio 130 de la FIG. 1, que es una señal de referencia y una segunda señal, tal como la segunda señal de audio 132 de la FIG. 1, siendo una señal objetivo. Un desplazamiento en la dirección positiva corresponde a que la primera señal sea la señal objetivo y la segunda señal sea la señal de referencia.
[0217] Si los valores de comparación en el límite derecho aumentan de forma monótona, en 1702, el detector puede ajustar el límite derecho hacia afuera para aumentar el rango de búsqueda, en 1704. Para ilustrar, si el valor de comparación en el desplazamiento de muestra 19 tiene un valor particular y el valor de comparación en el desplazamiento de muestra 20 tiene un valor más alto, el detector puede extender el rango de búsqueda en la dirección positiva. Como ejemplo no limitativo, el detector puede extender el rango de búsqueda de -20 a 25. El detector puede extender el rango de búsqueda en incrementos de una muestra, dos muestras, tres muestras, etc. De acuerdo con una implementación, la determinación en 1702 puede realizarse detectando valores de comparación en una pluralidad de muestras hacia el límite derecho para reducir la probabilidad de expandir el rango de búsqueda basado en un salto espurio en el límite correcto.
[0218] Si los valores de comparación en el límite derecho no aumentan de manera monótona, en 1702, el detector puede determinar si los valores de comparación en el límite izquierdo aumentan de manera monótona, en 1706. Si los valores de comparación en el límite izquierdo aumentan de manera monótona, en 1706, el detector puede ajustar el límite izquierdo hacia afuera para aumentar el rango de búsqueda, en 1708. Para ilustrar, si el valor de comparación en el desplazamiento de muestra -19 tiene un valor particular y el valor de comparación en el desplazamiento de
muestra -20 tiene un valor más alto, el detector puede extender el rango de búsqueda en la dirección negativa. Como ejemplo no limitativo, el detector puede extender el rango de búsqueda de -25 a 20. El detector puede ampliar el rango de búsqueda en incrementos de una muestra, dos muestras, tres muestras, etc. De acuerdo con una implementación, la determinación en 1702 puede realizarse detectando valores de comparación en una pluralidad de muestras hacia el límite izquierdo para reducir la probabilidad de expandir el rango de búsqueda basado en un salto espurio en el límite izquierdo. Si los valores de comparación en el límite izquierdo no aumentan de manera monótona, en 1706, el detector puede dejar el rango de búsqueda sin cambios, en 1710.
[0219] Por tanto, el diagrama de proceso 1700 de la FIG. 17 puede iniciar la modificación del rango de búsqueda para tramas futuras. Por ejemplo, si se detecta que los últimos tres tramas consecutivas aumentan de manera monótona en los valores de comparación durante los últimos diez valores de desajuste antes del umbral (por ejemplo, aumentando del desplazamiento de muestra 10 al desplazamiento de muestra 20 o aumentando del desplazamiento de muestra -10 al desplazamiento de muestra -20), el rango de búsqueda puede incrementarse hacia afuera en un número particular de muestras. Este aumento hacia el exterior del rango de búsqueda puede implementarse continuamente para tramas futuras hasta que el valor de comparación en el límite ya no aumente de manera monótona. El aumento del rango de búsqueda basado en los valores de comparación para las tramas anteriores puede reducir la probabilidad de que el "desplazamiento verdadero" pueda estar muy cerca del límite del rango de búsqueda pero justo fuera del rango de búsqueda. La reducción de esta probabilidad puede dar como resultado una mejora en la minimización de la energía del canal lateral y en la codificación del canal.
[0220] Refiriéndose a la FIG. 18, se muestran gráficos que ilustran la expansión selectiva de un rango de búsqueda para valores de comparación usados para la estimación de desplazamiento. Los gráficos pueden funcionar junto con los datos de la tabla 1.
[0221] De acuerdo con la tabla 1, el detector puede expandir el rango de búsqueda si un límite particular aumenta en tres o más tramas consecutivas. El primer gráfico 1802 ilustra los valores de comparación para la trama i-2. De acuerdo con el primer gráfico 1802, el límite izquierdo no aumenta monótonamente y el límite derecho aumenta monótonamente durante una trama consecutiva. Como resultado, el rango de búsqueda permanece sin cambios para la siguiente trama (por ejemplo, la trama i-1) y el límite puede variar de -20 a 20. El segundo gráfico 1804 ilustra los valores de comparación para la trama i-1. De acuerdo con el segundo gráfico 1804, el límite izquierdo no aumenta de manera monótona y el límite derecho aumenta de manera monótona durante dos tramas consecutivas. Como resultado, el rango de búsqueda permanece sin cambios para la siguiente trama (por ejemplo, la trama i) y el límite puede variar de -20 a 20.
[0222] El tercer gráfico 1806 ilustra los valores de comparación para la trama i. De acuerdo con el tercer gráfico 1806, el límite izquierdo no aumenta de manera monótona y el límite derecho aumenta de manera monótona durante tres tramas consecutivas. Debido a que el límite derecho aumenta de manera monótona durante tres o más tramas consecutivas, el rango de búsqueda para la siguiente trama (por ejemplo, la trama i+1) puede expandirse y el límite para la siguiente trama puede oscilar entre -23 y 23. El cuarto gráfico 1808 ilustra los valores de comparación para la trama i+1. De acuerdo con el cuarto gráfico 1808, el límite izquierdo no aumenta de manera monótona y el límite derecho aumenta de manera monótona durante cuatro tramas consecutivas. Debido a que el límite derecho aumenta de manera monótona durante tres o más tramas consecutivas, el rango de búsqueda para la siguiente trama (por ejemplo, la trama i+2) puede expandirse y el límite para la siguiente trama puede oscilar entre -26 y 26. El quinto gráfico 1810 ilustra los valores de comparación para la trama i+2. De acuerdo con el quinto gráfico 1810, el límite izquierdo no aumenta de manera monótona y el límite derecho aumenta de manera monótona durante cinco tramas consecutivas. Debido a que el límite derecho aumenta de manera monótona durante tres o más tramas consecutivas, el rango de búsqueda para la siguiente trama (por ejemplo, la trama i+3) puede expandirse y el límite para la siguiente trama puede oscilar entre -29 y 29.
[0223] El sexto gráfico 1812 ilustra los valores de comparación para la trama i+3. De acuerdo con el sexto gráfico 1812, el límite izquierdo no aumenta de manera monótona y el límite derecho no aumenta de manera monótona. Como resultado, el rango de búsqueda permanece sin cambios para la siguiente trama (por ejemplo, la trama i+4) y el límite puede variar de -29 a 29. El séptimo gráfico 1814 ilustra los valores de comparación para la trama i+4. De acuerdo con el séptimo gráfico 1814, el límite izquierdo no aumenta monótonamente y el límite derecho aumenta monótonamente durante una trama consecutiva. Como resultado, el rango de búsqueda permanece sin cambios para la siguiente trama y el límite puede variar de -29 a 29.
[0224] De acuerdo con la FIG. 18, el límite izquierdo se expande junto con el límite derecho. En implementaciones alternativas, el límite izquierdo puede empujarse hacia adentro para compensar el empuje hacia afuera del límite derecho para mantener un número constante de valores de desajuste en los que se estiman los valores de comparación para cada trama. En otra implementación, el límite izquierdo puede permanecer constante cuando el detector indica que el límite derecho debe expandirse hacia afuera.
[0225] De acuerdo con una implementación, cuando el detector indica que un límite particular se va a expandir hacia afuera, la cantidad de muestras a las que el límite particular se expande hacia afuera puede determinarse basándose en los valores de comparación. Por ejemplo, cuando el detector determina que el límite correcto debe expandirse hacia afuera basándose en los valores de comparación, se puede generar un nuevo conjunto de valores de comparación en un rango de búsqueda de desplazamiento más amplio y el detector puede usar los valores de comparación recién generados y los valores de comparación existentes para determinar el rango de búsqueda final. Para ilustrar, para la trama i+1, se puede generar un conjunto de valores de comparación en un rango más amplio de desplazamientos que van de -30 a 30. El rango de búsqueda final puede estar limitado basándose en los valores de comparación generados en el rango de búsqueda más amplio.
[0226] Aunque los ejemplos de la FIG. 18 indican que el límite derecho puede extenderse hacia afuera, se pueden realizar funciones análogas similares para extender el límite izquierdo hacia afuera si el detector determina que el límite izquierdo debe extenderse. De acuerdo con algunas implementaciones, pueden utilizarse limitaciones absolutas en el rango de búsqueda para evitar que el rango de búsqueda aumente o disminuya indefinidamente. Como ejemplo no limitativo, es posible que no se permita que el valor absoluto del rango de búsqueda aumente por encima de 8,75 milisegundos (por ejemplo, la anticipación del CÓDEC).
[0227] Refiriéndose a la FIG. 19, se muestra un procedimiento 1900 para desplazar un canal de forma no causal. El procedimiento 1900 se puede realizar mediante el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1 o una combinación de los mismos.
[0228] El procedimiento 1900 incluye estimar valores de comparación en un codificador, en 1902. Cada valor de comparación puede ser indicativo de una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente. Por ejemplo, refiriéndose a la FIG. 1, el codificador 114 puede estimar valores de comparación indicativos de las tramas de referencia (capturadas antes en el tiempo) y las tramas objetivo correspondientes (capturadas antes en el tiempo). Las tramas de referencia y las
tramas objetivo pueden ser capturadas por los micrófonos 146, 148.
[0229] El procedimiento 1900 también incluye suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado, en 1904. Por ejemplo, refiriéndose a la FIG. 1, el codificador 114 puede suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado. De acuerdo con una implementación, el parámetro de suavizado puede ser adaptativo. Por ejemplo, el procedimiento 1900 puede incluir adaptar el parámetro de suavizado basándose en una correlación de valores de comparación a corto plazo con valores de comparación a largo plazo. De acuerdo con una implementación, los valores de comparación (CompValLTN(k)) son iguales a (1 - a) * CompValN(k), +(a) * CompVa¡LTN-1(k). Un valor del parámetro de suavizado (a) puede ajustarse basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada. Además, 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, un valor del parámetro de suavizado (a) se ajusta basándose en una correlación de valores de comparación suavizados a corto plazo con valores de comparación suavizados a largo plazo. Además, el valor del parámetro de suavizado (a) puede aumentarse 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 con muestreo descendente y el canal objetivo correspondiente con muestreo descendente.
[0230] El procedimiento 1900 también incluye la estimación de un valor de desplazamiento tentativo basado en los valores de comparación suavizados, en 1906. Por ejemplo, refiriéndose a la FIG. 1, el codificador 114 puede estimar un valor de desplazamiento tentativo basándose en los valores de comparación suavizados. El procedimiento 1900 también incluye un desplazamiento no causal de un canal objetivo mediante un valor de desplazamiento no causal para generar un canal objetivo ajustado que está alineado temporalmente con un canal de referencia, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo, en 1908. Por ejemplo, el ecualizador temporal 108 puede cambiar de forma no causal el canal objetivo por 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.
[0231] El procedimiento 1900 también incluye generar al menos uno de un canal de banda media o un canal de banda lateral basado en el canal de referencia y el canal objetivo ajustado, en 1910. Por ejemplo, refiriéndose a la FIG. 19, 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.
[0232] Con referencia a la FIG. 20, se representa un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo (por ejemplo, un dispositivo de comunicación inalámbrica) y en general se designa con 2000. En diversos modos de realización, el dispositivo 2000 puede tener menos o más componentes de los que se ilustran en la FIG. 20. En un modo de realización ilustrativo, el dispositivo 2000 puede corresponder al primer dispositivo 104 o al segundo dispositivo 106 de la FIG. 1. En un modo de realización ilustrativo, el dispositivo 2000 puede realizar una o más operaciones descritas con referencia a sistemas y procedimientos de las FIGS. 1-19.
[0233] En un modo de realización particular, el dispositivo 2000 incluye un procesador 2006 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 2000 puede incluir uno o más procesadores 2010 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). El procesador 2010 puede incluir un codificadordescodificador (por ejemplo, voz y música) de medios (CÓDEC) 2008 y un cancelador de eco 2012. El CÓDEC de medios 2008 puede incluir el descodificador 118, el codificador 114, o ambos, de la FIG. 1. El codificador 114 puede incluir el ecualizador temporal 108.
[0234] El dispositivo 2000 puede incluir una memoria 153 y un CÓDEC2034. Aunque el CÓDEC de medios 2008 se ilustra como un componente de los procesadores 2010 (por ejemplo, circuitos dedicados y/o código de programación ejecutable), en otros modos de realización, uno o más componentes del CÓDEC de medios 2008, tal como el descodificador 118, el codificador 114, o ambos, se pueden incluir en el procesador 2006, el CÓDEC2034, otro componente de procesamiento, o una combinación de los mismos.
[0235] El dispositivo 2000 puede incluir el transmisor 110 acoplado a una antena 2042. El dispositivo 2000 puede incluir una pantalla 2028 acoplada a un controlador de pantalla 2026. Uno o más altavoces 2048 pueden estar acoplados al CÓDEC2034. Se pueden acoplar uno o más micrófonos 2046, a través de la interfaz o interfaces de entrada 112, al CÓDEC2034. En una implementación particular, los altavoces 2048 pueden incluir el primer altavoz 142, el segundo altavoz 144 de la FIG. 1, el Y-ésimo altavoz 244 de la FIG. 2, o una combinación de los mismos. En una implementación particular, los micrófonos 2046 pueden incluir el primer micrófono 146, el segundo micrófono 148 de la FIG. 1, el N-ésimo micrófono 248 de la FIG. 2, el tercer micrófono 1146, el cuarto micrófono 1148 de la FIG. 11, o una combinación de los mismos. El CÓDEC2034 puede incluir un convertidor digital-analógico (DAC) 2002 y un convertidor analógico-digital (ADC) 2004.
[0236] La memoria 153 puede incluir instrucciones 2060 ejecutables por el procesador 2006, el procesador 2010, el CÓDEC2034, otra unidad de procesamiento del dispositivo 2000, o una combinación de los mismos, para realizar una
o más operaciones descritas con referencia a las FIGS. 1 -19. La memoria 153 puede almacenar los datos de análisis 190.
[0237] Uno o más componentes del dispositivo 2000 pueden implementarse a través de hardware dedicado (por ejemplo, circuitería), mediante un procesador que ejecuta instrucciones para realizar una o más tareas, o una combinación de las mismas. Como un ejemplo, la memoria 153 o uno o más componentes del procesador 2006, los procesadores 2010 y/o el CÓDEC2034 puede(n) ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de giro (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 2060) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC2034, el procesador 2006 y/o los procesadores 2010), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1 -18. Como un ejemplo, la memoria 153 o los uno o más componentes del procesador 2006, los procesadores 2010, y/o el CÓDEC2034 pueden ser un medio legible por ordenador no transitorio que incluye instrucciones (por ejemplo, las instrucciones 2060) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC2034, el procesador 2006 y/o los procesadores 2010), hacen que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1-19.
[0238] En un modo de realización particular, el dispositivo 2000 puede estar incluido en un dispositivo de sistema en paquete o de sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 2022. En un modo de realización particular, el procesador 2006, los procesadores 2010, el controlador de visualización 2026, la memoria 153, el CÓDEC2034 y el transmisor 110 se incluyen en un dispositivo de sistema en paquete o sistema en chip 2022. En un modo de realización particular, un dispositivo de entrada 2030, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 2044 están acoplados al dispositivo de sistema en chip 2022. Además, en un modo de realización particular, como se ilustra en la FIG. 20, la pantalla 2028, el dispositivo de entrada 2030, los altavoces 2048, el micrófono 2046, la antena 2042 y la fuente de alimentación 2044 son externos al dispositivo de sistema en chip 2022. Sin embargo, cada uno de la pantalla 2028, el dispositivo de entrada 2030, los altavoces 2048, los micrófonos 2046, la antena 2042 y la fuente de alimentación 2044 se pueden acoplar a un componente del dispositivo de sistema en chip 2022, tal como una interfaz o un controlador.
[0239] El dispositivo 2000 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 escritorio, un ordenador, una tablet, un descodificador, un asistente digital personal (PDA), un dispositivo de visualización, un televisor, 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 multimedia 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 descodificador, un sistema codificador o cualquier combinación de los mismos.
[0240] En una implementación particular, uno o más componentes de los sistemas descritos en el presente documento y en el dispositivo 2000 pueden integrarse en un sistema o aparato de descodificació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 en ambos. En otras implementaciones, uno o más componentes de los sistemas descritos en el presente documento y el dispositivo 2000 pueden integrarse en un teléfono inalámbrico, una tablet, un ordenador de escritorio, un ordenador portátil, un descodificador, un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, un televisor, una consola de juegos, un dispositivo de navegación, un dispositivo de comunicación, un asistente digital personal (PDA), una unidad de datos de ubicación fija, un reproductor multimedia personal u otro tipo de dispositivo.
[0241] Debe observarse que diversas funciones realizadas por uno o más componentes de los sistemas descritos en el presente documento y el dispositivo 2000 se describen como realizados por determinados componentes o módulos. Esta división de componentes y módulos tiene solo fines ilustrativos. En una implementación alternativa, una función realizada mediante 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 los sistemas descritos en el presente documento pueden integrarse en un único componente o módulo. Cada componente o módulo ilustrado en los sistemas descritos en el presente documento se puede implementar usando hardware (por ejemplo, un dispositivo de matriz de puertas programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), un DSP, un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o una combinación de los mismos.
[0242] Junto 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, los medios para capturar la primera señal de audio pueden incluir el primer micrófono 146 de las FIGS. 1-2, el (los) micrófono(s) 2046 de la FIG. 20, 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 los mismos.
[0243] El aparato también puede incluir medios para capturar un canal objetivo. El canal objetivo puede incluir una trama objetivo. Por ejemplo, los medios para capturar la segunda señal de audio pueden incluir el segundo micrófono 148 de las FIGS. 1-2, el (los) micrófono(s) 2046 de la FIG. 20, 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 los mismos.
[0244] El aparato también puede incluir medios para estimar un retardo entre la trama de referencia y la trama objetivo. Por ejemplo, entre los medios de determinación del retardo puede incluirse el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el CÓDEC de medios 2008, los procesadores 2010, el dispositivo 2000, 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 los mismos.
[0245] El aparato también puede incluir medios para estimar una desviación temporal entre el canal de referencia y el canal objetivo basándose en el retardo y basándose en datos históricos de retardo. Por ejemplo, entre los medios para estimar la desviación temporal puede incluirse el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el CÓDEC de medios 2008, los procesadores 2010, el dispositivo 2000, uno o más dispositivos configurados para estimar la desviació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 los mismos.
[0246] Con referencia a la FIG. 21, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación base 2100. En diversas implementaciones, la estación base 2100 puede tener más componentes o menos componentes de los ilustrados en la FIG. 21. En un ejemplo ilustrativo, la estación base 2100 puede incluir el primer dispositivo 104, el segundo dispositivo 106 de la FIG. 1, el primer dispositivo 204 de la FIG. 2, o una combinación de los mismos. En un ejemplo ilustrativo, la estación base 2100 puede funcionar de acuerdo con uno o más de los procedimientos o sistemas descritos con referencia a las FIGS. 1-19.
[0247] La estación base 2100 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 Evolución a Largo Plazo (LTE), un sistema de Acceso Múltiple por División de Código (CDMA), un Sistema global para comunicaciones móviles (GSM), un sistema de Red inalámbrica de área local (WLAN), o algún otro sistema inalámbrico. Un sistema CDMA puede implementar CDMA de banda ancha (WCDMA), CDMA1X, evolución de datos optimizados (EVDO), CDMA síncrono por división de tiempo (TD-SCDMA) o alguna otra versión de CDMA.
[0248] Los dispositivos inalámbricos también pueden denominarse 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 ser un teléfono móvil, un teléfono inteligente, una tablet, un módem inalámbrico, un asistente digital personal (PDA), un dispositivo portátil, un ordenador portátil, un smartbook, un netbook, un teléfono inalámbrico, una estación de bucle local inalámbrico (WLL), un dispositivo Bluetooth, etc. Los dispositivos inalámbricos pueden incluir o corresponder con el dispositivo 2100 de la FIG. 21.
[0249] Uno o más componentes de la estación base 2100 pueden realizar diversas funciones (y/o en otros componentes no mostrados), tales como enviar y recibir mensajes y datos (por ejemplo, datos de audio). En un ejemplo particular, la estación base 2100 incluye un procesador 2106 (por ejemplo, una CPU). La estación base 2100 puede incluir un transcodificador 2110. El transcodificador 2110 puede incluir un CÓDEC de audio 2108. Por ejemplo, el transcodificador 2110 puede incluir uno o más componentes (por ejemplo, circuitos) configurados para realizar operaciones del CÓDEC de audio 2108. Como otro ejemplo, el transcodificador 2110 puede configurarse para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CÓDEC de audio 2108. Aunque se ilustra el CÓDEC de audio 2108 como un componente del transcodificador 2110, en otros ejemplos se pueden incluir uno o más componentes del CÓDEC de audio 2108 en el procesador 2106, otro componente de procesamiento o una combinación de los mismos. Por ejemplo, un descodificador 2138 (por ejemplo, un descodificador de codificador de voz) puede incluirse en un procesador de datos receptor 2164. Como otro ejemplo, se puede incluir un codificador 2136 (por ejemplo, un codificador de codificador de voz) en un procesador de datos de transmisión 2182.
[0250] El transcodificador 2110 puede funcionar para transcodificar mensajes y datos entre dos o más redes. El transcodificador 2110 puede configurarse para convertir mensajes y datos de audio de un primer formato (por ejemplo, un formato digital) a un segundo formato. A modo ilustrativo, el descodificador 2138 puede descodificar señales codificadas que tienen un primer formato y el codificador 2136 puede codificar las señales descodificadas en señales codificadas que tienen un segundo formato. De forma adicional o alternativa, el transcodificador 2110 puede configurarse para realizar la adaptación de la velocidad de datos. Por ejemplo, el transcodificador 2110 puede convertir de forma descendente una velocidad de datos o convertir de forma ascendente la velocidad de datos sin cambiar el formato de los datos de audio. A modo ilustrativo, el transcodificador 2110 puede convertir de forma descendente las señales de 64 kbit/s en señales de 16 kbit/s.
[0251] El CÓDEC de audio 2108 puede incluir el codificador 2136 y el descodificador 2138. El codificador 2136 puede incluir el codificador 114 de la FIG. 1, el codificador 214 de la FIG. 2, o ambos. El descodificador 2138 puede incluir el descodificador 118 de la FIG. 1.
[0252] La estación base 2100 puede incluir una memoria 2132. La memoria 2132, 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 2106, el transcodificador 2110, o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a los procedimientos y sistemas de las FIGS. 1-20. La estación base 2100 puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tales como un primer transceptor 2152 y un segundo transceptor 2154, acoplados a una matriz de antenas. El conjunto de antenas puede incluir una primera antena 2142 y una segunda antena 2144. El conjunto de antenas se puede configurar para comunicarse de forma inalámbrica con uno o más dispositivos inalámbricos, tal como el dispositivo 2100 de la FIG.
21. Por ejemplo, la segunda antena 2144 puede recibir un flujo de datos 2114 (por ejemplo, un flujo de bits) desde un dispositivo inalámbrico. El flujo de datos 2114 puede incluir mensajes, datos (por ejemplo, datos de voz codificados) o una combinación de los mismos.
[0253] La estación base 2100 puede incluir una conexión de red 2160, tal como una conexión de retorno. La conexión de red 2160 puede configurarse para comunicarse con una red central o una o más estaciones base de la red de comunicación inalámbrica. Por ejemplo, la estación base 2100 puede recibir un segundo flujo de datos (por ejemplo, mensajes o datos de audio) desde una red central a través de la conexión de red 2160. La estación base 2100 puede procesar el segundo flujo de datos para generar mensajes o datos de audio y proporcionar los mensajes o los datos de audio a uno o más dispositivos inalámbricos a través de una o más antenas del conjunto de antenas u otra estación base a través de la conexión de red 2160. En una implementación particular, la conexión de red 2160 puede ser una conexión de red de área amplia (WAN), como un ejemplo ilustrativo, no limitante. En algunas implementaciones, la red central puede incluir o corresponder a una red telefónica pública conmutada (PSTN), una red troncal de paquetes, o ambas.
[0254] La estación base 2100 puede incluir una pasarela de medios 2170 que está acoplada a la conexión de red 2160 y al procesador 2106. La pasarela de medios 2170 puede configurarse para convertir entre flujos de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela de medios 2170 puede convertir entre diferentes protocolos de transmisión, diferentes esquemas de codificación, o ambos. A modo ilustrativo, la pasarela de medios 2170 puede convertir de señales PCM a señales de Protocolo de transporte en tiempo real (RTP), como un ejemplo ilustrativo, no limitante. La pasarela de medios 2170 puede convertir datos entre redes de paquetes conmutados (por ejemplo, una red de Protocolo de Voz sobre Internet (VoIP), un Subsistema Multimedia IP (IMS), una red inalámbrica de cuarta generación (4G), tal como LTE, WiMax y UMB, etc.), redes de circuitos conmutados (por ejemplo, una PSTN) y redes híbridas (por ejemplo, una red inalámbrica de segunda generación (2G), tal como GSM, GPRS y EDGE, una red inalámbrica de tercera generación (3G), tal como WCDMA, EV-DO y HSPA, etc.).
[0255] Adicionalmente, la pasarela de medios 2170 puede incluir un transcodificador y puede configurarse para transcodificar datos cuando los códecs son incompatibles. Por ejemplo, la pasarela de medios 2170 puede transcodificar entre un códec adaptativo de velocidad múltiple (AMR) y un códec G.711, como un ejemplo ilustrativo, no limitante. La pasarela de medios 2170 puede incluir un router y una pluralidad de interfaces físicas. En algunas implementaciones, la pasarela de medios 2170 también puede incluir un controlador (no mostrado). En una implementación particular, el controlador de la pasarela de medios puede ser externo a la pasarela de medios 2170, externo a la estación base 2100, o a ambos. El controlador de la pasarela de medios puede controlar y coordinar operaciones de múltiples pasarelas de medios. La pasarela de medios 2170 puede recibir señales de control desde el controlador de la pasarela de medios y puede funcionar para conectar entre diferentes tecnologías de transmisión y puede agregar servicio a las capacidades y conexiones del usuario final.
[0256] La estación base 2100 puede incluir un desmodulador 2162 que está acoplado a los transceptores 2152, 2154, al procesador de datos del receptor 2164 y al procesador 2106, y el procesador de datos del receptor 2164 puede estar acoplado al procesador 2106. El desmodulador 2162 puede configurarse para desmodular señales moduladas recibidas desde los transceptores 2152, 2154 y para proporcionar datos desmodulados al procesador de datos del receptor 2164. El procesador de datos del receptor 2164 puede configurarse para extraer un mensaje o datos de audio de los datos desmodulados y enviar el mensaje o los datos de audio al procesador 2106.
[0257] La estación base 2100 puede incluir un procesador de transmisión de datos 2182 y un procesador de transmisión de entrada múltiple-salida múltiple (MIMO) 2184. El procesador de datos de transmisión 2182 puede estar acoplado al procesador 2106 y al procesador de MIMO de transmisión 2184. El procesador de MIMO de transmisión 2184 puede estar acoplado a los transceptores 2152, 2154 y al procesador 2106. En algunas implementaciones, el procesador de MIMO de transmisión 2184 puede estar acoplado a la pasarela de medios 2170. El procesador de datos de transmisión 2182 puede configurarse para recibir los mensajes o los datos de audio del procesador 2106 y codificar los mensajes o los datos de audio basándose en un esquema de codificación, tal como CDMA o multiplexación por división de frecuencia ortogonal (OFDM), como ejemplos ilustrativos, no limitantes. El procesador de datos de transmisión 2182 puede proporcionar los datos codificados al procesador de MIMO de transmisión 2184.
[0258] Los datos codificados pueden multiplexarse con otros datos, tal como datos piloto, usando técnicas CDMA u OFDM para generar datos multiplexados. Los datos multiplexados pueden entonces ser modulados (es decir, asignados por símbolos) por el procesador de datos de transmisión 2182 basado en un esquema de modulación particular (por ejemplo, codificación de desplazamiento de fase binaria ("BPSK"), codificación de desplazamiento de fase en cuadratura ("QSPK"), modulación por desplazamiento de fase M-ary ("M-PSK"), modulación de amplitud de cuadratura M-ary ("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 velocidad de transferencia de datos, la codificación y la modulación para cada flujo de datos pueden determinarse mediante instrucciones ejecutadas por el procesador 2106.
[0259] El procesador de MIMO de transmisión 2184 puede configurarse para recibir los símbolos de modulación del procesador de datos de transmisión 2182 y puede procesar adicionalmente los símbolos de modulación y puede realizar la formación de haces en los datos. Por ejemplo, el procesador de MIMO de transmisión 2184 puede aplicar ponderaciones de formación de haz a los símbolos de modulación. Las ponderaciones de formación de haz pueden corresponder a una o más antenas del conjunto de antenas desde las cuales se transmiten los símbolos de modulación.
[0260] Durante el funcionamiento, la segunda antena 2144 de la estación base 2100 puede recibir un flujo de datos 2114. El segundo transceptor 2154 puede recibir el flujo de datos 2114 desde la segunda antena 2144 y puede proporcionar el flujo de datos 2114 al desmodulador 2162. El desmodulador 2162 puede desmodular señales moduladas del flujo de datos 2114 y proporcionar datos desmodulados al procesador de datos del receptor 2164. El procesador de datos del receptor 2164 puede extraer datos de audio de los datos desmodulados y proporcionar los datos de audio extraídos al procesador 2106.
[0261] El procesador 2106 puede proporcionar los datos de audio al transcodificador 2110 para la transcodificación. El descodificador 2138 del transcodificador 2110 puede descodificar los datos de audio de un primer formato en datos de audio descodificados y el codificador 2136 puede codificar los datos de audio descodificados en un segundo formato. En algunas implementaciones, el codificador 2136 puede codificar los datos de audio usando una velocidad de datos más alta (por ejemplo, conversión ascendente) o una velocidad de datos más baja (por ejemplo, conversión descendente) que la recibida desde el dispositivo inalámbrico. En otras implementaciones, los datos de audio pueden no ser transcodificados. Aunque la transcodificación (por ejemplo, descodificación y codificación) se ilustra como realizada por un transcodificador 2110, las operaciones de transcodificación (por ejemplo, descodificación y codificación) pueden realizarse por múltiples componentes de la estación base 2100. Por ejemplo, la descodificación puede ser realizada por el procesador de datos del receptor 2164 y la codificación puede ser realizada por el procesador de datos de transmisión 2182. En otras implementaciones, el procesador 2106 puede proporcionar los datos de audio a la pasarela de medios 2170 para la conversión a otro protocolo de transmisión, esquema de codificación, o ambos. La pasarela de medios 2170 puede proporcionar los datos convertidos a otra estación base o red central a través de la conexión de red 2160.
[0262] El codificador 2136 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 2136 también puede estimar una desviación temporal entre el canal de referencia (por ejemplo, la primera señal de audio 130) y el canal objetivo (por ejemplo, la segunda señal de audio 132) basándose en el retardo y basándose en datos históricos de retardo. El codificador 2136 puede cuantificar y codificar el valor de desajuste temporal (o desplazamiento final) a una resolución diferente basada en la frecuencia de muestreo del CÓODEC 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 desviación temporal con una resolución más alta para propósitos de mezcla descendente multicanal en el codificador, sin embargo, el codificador puede cuantificar y transmitir a una resolución más baja para usar en el descodificador. El descodificador 118 puede generar la primera señal de salida 126 y la segunda señal de salida 128 descodificando señales codificadas basadas en el indicador de señal de referencia 164, el valor de desplazamiento no causal 162, el parámetro de ganancia 160, o una combinación de los mismos. Los datos de audio codificados generados en el codificador 2136, tales como los datos transcodificados, pueden proporcionarse al procesador de datos de transmisión 2182 o a la conexión de red 2160 a través del procesador 2106.
[0263] Los datos de audio transcodificados del transcodificador 2110 pueden proporcionarse al procesador de datos de transmisión 2182 para codificar de acuerdo con un esquema de modulación, tal como OFDM, para generar los símbolos de modulación. El procesador de datos de transmisión 2182 puede proporcionar los símbolos de modulación al procesador de MIMO de transmisión 2184 para su posterior procesamiento y formación de haces. El procesador MIMO de transmisión 2184 puede aplicar ponderaciones de conformación de haz y puede proporcionar los símbolos de modulación a una o más antenas del conjunto de antenas, tales como la primera antena 2142 a través del primer transceptor 2152. Por tanto, la estación base 2100 puede proporcionar un flujo de datos transcodificados 2116, que corresponde al flujo de datos 2114 recibido desde el dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo de datos transcodificados 2116 puede tener un formato de codificación, velocidad de datos o ambos diferentes, al flujo de datos 2114. En otras implementaciones, el flujo de datos transcodificados 2116 puede proporcionarse a la conexión de red 2160 para su transmisión a otra estación base o una red central.
[0264] La estación base 2100 puede incluir, por lo tanto, un dispositivo de almacenamiento legible por ordenador (por ejemplo, la memoria 2132) que almacena instrucciones que, cuando son ejecutadas por un procesador (por ejemplo, el procesador 2106 o el transcodificador 2110), hacen que el procesador realice operaciones que incluyen la estimación de un retardo entre la trama de referencia y la trama objetivo. Las operaciones también incluyen la estimación de una desviación temporal entre el canal de referencia y el canal objetivo basándose en el retardo y basándose en los datos históricos de retardo.
[0265] Los expertos en la técnica apreciarían además que los diversos bloques lógicos, configuraciones, módulos, circuitos y pasos de algoritmo ilustrativos descritos en relación con los modos de realización divulgados en el presente documento pueden implementarse como hardware electrónico, software informático ejecutado por un dispositivo de procesamiento, tal como un procesador de hardware, o combinaciones de los mismos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y pasos ilustrativos, en general en términos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la aplicación en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de formas variadas para cada aplicación particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0266] Los pasos de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento se pueden realizar directamente en el hardware, en un módulo de software ejecutado por un procesador o en una combinación de ambos. Un módulo de software puede residir en un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de giro (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), unos registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). Un dispositivo de memoria a modo de ejemplo está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un circuito integrado específico de la aplicación (ASIC). El ASIC puede residir en un dispositivo informático o en un terminal de usuario. De forma alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o en un terminal de usuario.
[0267] La descripción anterior de las implementaciones divulgadas se proporciona para permitir que un experto en la técnica elabore o use las implementaciones divulgadas. Diversas modificaciones de estas implementaciones resultarán fácilmente evidentes para los expertos en la técnica, y los principios definidos en el presente documento se pueden aplicar a otras implementaciones sin apartarse del alcance de la divulgación. Por tanto, la presente divulgación no está prevista para limitarse a las implementaciones mostradas en el presente documento, sino que se le ha de conceder el alcance más amplio posible compatible con los principios y los rasgos característicos novedosos como se define en las reivindicaciones siguientes.
Claims (15)
1. Un procedimiento, que comprende:
estimar valores de comparación en un codificador (114), con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente;
suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado;
estimar un valor de desplazamiento tentativo basándose en los valores de comparación suavizados; desplazar de forma no causal un canal objetivo particular mediante un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo; 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; caracterizado por que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada.
2. El procedimiento de la reivindicación 1, en el que el parámetro de suavizado es adaptativo, o en el que
el procedimiento comprende además adaptar el parámetro de suavizado basándose en la variación en los valores de comparación a corto plazo en relación con los valores de comparación a largo plazo, o en el que el valor del parámetro de suavizado se reduce si los indicadores de energía a corto plazo son mayores que los indicadores de energía a largo plazo.
3. El procedimiento de la reivindicación 1, en el que un valor del parámetro de suavizado se ajusta basándose en la variación en los valores de comparación suavizados a corto plazo con respecto a los valores de comparación suavizados a largo plazo, y preferentemente en el que el valor del parámetro de suavizado aumenta si la variación excede un límite.
4. El procedimiento de la reivindicación 1, en el que los valores de comparación comprenden valores de correlación cruzada de canales de referencia con muestreo descendente y canales objetivo con muestreo descendente correspondientes, o en el que una trama de referencia (131) del canal de referencia y una trama objetivo (133) del canal objetivo es una de las tramas sonoras, las tramas de transición o las tramas sordas.
5. El procedimiento de la reivindicación 1, en el que la estimación de los valores de comparación, el suavizado de los valores de comparación, la estimación del valor de desplazamiento tentativo y el desplazamiento no causal del canal objetivo se realizan en un dispositivo móvil, o en el que la estimación de los valores de comparación, el suavizado de los valores de comparación, la estimación del valor de desplazamiento tentativo y el desplazamiento no causal del canal objetivo se realizan en una estación base (2100).
6. Un aparato que comprende:
medios para estimar valores de comparación, con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente;
medios para suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado;
medios para estimar un valor de desplazamiento tentativo basado en los valores de comparación suavizados; medios para desplazar de forma no causal un canal objetivo particular mediante un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo; y
medios para 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; caracterizado por que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de
entrada e indicadores de energía a largo plazo de los canales de entrada.
7. El aparato de acuerdo con la reivindicación 6, que comprende además:
medios (146) configurados para capturar un canal de referencia particular; y
medios (148) configurados para capturar un canal objetivo particular.
8. El aparato de la reivindicación 6, en el que el parámetro de suavizado es adaptativo.
9. El aparato de acuerdo con la reivindicación 6, en el que el valor del parámetro de suavizado se reduce si los indicadores de energía a corto plazo son mayores que los indicadores de energía a largo plazo.
10. El aparato de la reivindicación 6, en el que el valor del parámetro de suavizado se ajusta basándose en una correlación de los valores de comparación suavizados a corto plazo con los valores de comparación suavizados a largo plazo, y preferentemente en el que el valor del parámetro de suavizado aumenta si la correlación excede un valor de límite.
11. El aparato de la reivindicación 6, en el que los valores de comparación son valores de correlación cruzada de canales de referencia con muestreo descendente y canales objetivo con muestreo descendente correspondientes.
12. El aparato de la reivindicación 6, en el que los medios para estimar los valores de comparación, los medios para suavizar los valores de comparación, los medios para estimar el valor de desplazamiento tentativo y los medios para cambiar de forma no causal el canal objetivo están integrados en un dispositivo móvil.
13. El aparato de la reivindicación 6, en el que los medios para estimar los valores de comparación, los medios para suavizar los valores de comparación, los medios para estimar el valor de desplazamiento tentativo y los medios para cambiar de manera no causal el canal objetivo están integrados en una estación base.
14. Un medio legible por ordenador no transitorio que comprende instrucciones que, cuando son ejecutadas por un codificador (114), hacen que el codificador realice las operaciones que comprenden:
estimar valores de comparación, con cada valor de comparación que indica una cantidad de desajuste temporal entre un canal de referencia capturado previamente y un canal objetivo capturado previamente correspondiente;
suavizar los valores de comparación para generar valores de comparación suavizados basados en datos de valores de comparación históricos y un parámetro de suavizado;
estimar un valor de desplazamiento tentativo basándose en los valores de comparación suavizados; desplazar de forma no causal un canal objetivo particular mediante un valor de desplazamiento no causal para generar un canal objetivo particular ajustado que está alineado temporalmente con un canal de referencia particular, con el valor de desplazamiento no causal basado en el valor de desplazamiento tentativo; 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; caracterizado por que un valor del parámetro de suavizado se ajusta basándose en indicadores de energía a corto plazo de los canales de entrada e indicadores de energía a largo plazo de los canales de entrada.
15. El medio legible por ordenador no transitorio de la reivindicación 14, en el que el parámetro de suavizado es adaptativo, o en el que las operaciones comprenden además adaptar el parámetro de suavizado basándose en una correlación de valores de comparación a corto plazo con valores de comparación a largo plazo.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562269796P | 2015-12-18 | 2015-12-18 | |
| US15/372,802 US10045145B2 (en) | 2015-12-18 | 2016-12-08 | Temporal offset estimation |
| PCT/US2016/065869 WO2017106039A1 (en) | 2015-12-18 | 2016-12-09 | Temporal offset estimation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2837406T3 true ES2837406T3 (es) | 2021-06-30 |
Family
ID=57796974
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES16826222T Active ES2837406T3 (es) | 2015-12-18 | 2016-12-09 | Estimación de desviación temporal |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US10045145B2 (es) |
| EP (2) | EP3742439B1 (es) |
| JP (2) | JP6800229B2 (es) |
| KR (1) | KR102009612B1 (es) |
| CN (1) | CN108369809B (es) |
| CA (1) | CA3004770C (es) |
| ES (1) | ES2837406T3 (es) |
| TW (1) | TWI688243B (es) |
| WO (1) | WO2017106039A1 (es) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10304468B2 (en) | 2017-03-20 | 2019-05-28 | Qualcomm Incorporated | Target sample generation |
| EP3673671A1 (en) * | 2017-08-25 | 2020-07-01 | Sony Europe B.V. | Audio processing to compensate for time offsets |
| US10891960B2 (en) * | 2017-09-11 | 2021-01-12 | Qualcomm Incorproated | Temporal offset estimation |
| US10872611B2 (en) * | 2017-09-12 | 2020-12-22 | Qualcomm Incorporated | Selecting channel adjustment method for inter-frame temporal shift variations |
| GB2571949A (en) * | 2018-03-13 | 2019-09-18 | Nokia Technologies Oy | Temporal spatial audio parameter smoothing |
| KR102219858B1 (ko) | 2018-08-27 | 2021-02-24 | 농업회사법인 한국도시농업 주식회사 | 컨베이어형 작물 재배장치의 자율 회전형 관수시스템 |
| CN109087660A (zh) * | 2018-09-29 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 用于回声消除的方法、装置、设备以及计算机可读存储介质 |
| KR102143699B1 (ko) | 2018-11-23 | 2020-08-12 | (주)케이피 | 체인 컨베이어식 작물재배장치의 관수시스템 |
| KR20200061256A (ko) | 2018-11-23 | 2020-06-02 | 김근우 | 체인 컨베이어식 작물재배장치의 관수 순환시스템 |
| DK4165629T3 (da) | 2020-06-11 | 2025-06-02 | Dolby Laboratories Licensing Corp | Fremgangsmåder og indretninger til kodning og afkodning af rumlig baggrundsstøj i et multikanalsindgangssignal |
| AU2021357364B2 (en) | 2020-10-09 | 2024-06-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method, or computer program for processing an encoded audio scene using a parameter smoothing |
| MX2023003965A (es) | 2020-10-09 | 2023-05-25 | Fraunhofer Ges Forschung | Aparato, metodo, o programa de computadora para procesar una escena de audio codificada utilizando una extension de ancho de banda. |
| AU2021358432B2 (en) * | 2020-10-09 | 2024-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method, or computer program for processing an encoded audio scene using a parameter conversion |
| US20250280239A1 (en) * | 2024-03-01 | 2025-09-04 | Disney Enterprises, Inc. | Automatic detection of alignment between two audio signals |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7508947B2 (en) | 2004-08-03 | 2009-03-24 | Dolby Laboratories Licensing Corporation | Method for combining audio signals using auditory scene analysis |
| WO2007052612A1 (ja) * | 2005-10-31 | 2007-05-10 | Matsushita Electric Industrial Co., Ltd. | ステレオ符号化装置およびステレオ信号予測方法 |
| US8385556B1 (en) * | 2007-08-17 | 2013-02-26 | Dts, Inc. | Parametric stereo conversion system and method |
| US8463414B2 (en) | 2010-08-09 | 2013-06-11 | Motorola Mobility Llc | Method and apparatus for estimating a parameter for low bit rate stereo transmission |
| JP5955862B2 (ja) * | 2011-01-04 | 2016-07-20 | ディーティーエス・エルエルシーDts Llc | 没入型オーディオ・レンダリング・システム |
| EP2671222B1 (en) * | 2011-02-02 | 2016-03-02 | Telefonaktiebolaget LM Ericsson (publ) | Determining the inter-channel time difference of a multi-channel audio signal |
| JP5947971B2 (ja) * | 2012-04-05 | 2016-07-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | マルチチャネルオーディオ信号の符号化パラメータを決定する方法及びマルチチャネルオーディオエンコーダ |
| EP2982139A4 (en) * | 2013-04-04 | 2016-11-23 | Nokia Technologies Oy | AUDIOVISUAL PROCESSING APPARATUS |
-
2016
- 2016-12-08 US US15/372,802 patent/US10045145B2/en active Active
- 2016-12-09 CA CA3004770A patent/CA3004770C/en active Active
- 2016-12-09 WO PCT/US2016/065869 patent/WO2017106039A1/en not_active Ceased
- 2016-12-09 CN CN201680072462.1A patent/CN108369809B/zh active Active
- 2016-12-09 EP EP20186140.8A patent/EP3742439B1/en active Active
- 2016-12-09 KR KR1020187016920A patent/KR102009612B1/ko active Active
- 2016-12-09 JP JP2018530869A patent/JP6800229B2/ja active Active
- 2016-12-09 EP EP16826222.8A patent/EP3391371B1/en active Active
- 2016-12-09 ES ES16826222T patent/ES2837406T3/es active Active
- 2016-12-15 TW TW105141511A patent/TWI688243B/zh active
-
2019
- 2019-12-09 JP JP2019222100A patent/JP6910416B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN108369809B (zh) | 2019-08-13 |
| EP3391371A1 (en) | 2018-10-24 |
| TWI688243B (zh) | 2020-03-11 |
| WO2017106039A1 (en) | 2017-06-22 |
| JP6800229B2 (ja) | 2020-12-16 |
| JP2020060774A (ja) | 2020-04-16 |
| CN108369809A (zh) | 2018-08-03 |
| US20170180906A1 (en) | 2017-06-22 |
| EP3391371B1 (en) | 2020-09-16 |
| TW201728147A (zh) | 2017-08-01 |
| EP3742439B1 (en) | 2022-03-30 |
| JP2019504344A (ja) | 2019-02-14 |
| KR20180094904A (ko) | 2018-08-24 |
| CA3004770A1 (en) | 2017-06-22 |
| JP6910416B2 (ja) | 2021-07-28 |
| KR102009612B1 (ko) | 2019-08-09 |
| BR112018012159A2 (pt) | 2018-11-27 |
| CA3004770C (en) | 2020-12-29 |
| EP3742439A1 (en) | 2020-11-25 |
| US10045145B2 (en) | 2018-08-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2837406T3 (es) | Estimación de desviación temporal | |
| US11094330B2 (en) | Encoding of multiple audio signals | |
| KR102230623B1 (ko) | 다중의 오디오 신호들의 인코딩 | |
| ES2803774T3 (es) | Codificación de múltiples señales de audio | |
| BR112019019144A2 (pt) | geração de amostra alvo | |
| CN110770825B (zh) | 时域通道间预测 | |
| KR102345910B1 (ko) | 시간 오프셋 추정 | |
| BR112018010305B1 (pt) | Codificação de múltiplos sinais de áudio | |
| HK40019977B (zh) | 时间偏移估计 | |
| BR112018012154B1 (pt) | Codificação de múltiplos sinais de áudio |


