ES2821676T3 - Codificación de múltiples señales de audio - Google Patents
Codificación de múltiples señales de audio Download PDFInfo
- Publication number
- ES2821676T3 ES2821676T3 ES17706610T ES17706610T ES2821676T3 ES 2821676 T3 ES2821676 T3 ES 2821676T3 ES 17706610 T ES17706610 T ES 17706610T ES 17706610 T ES17706610 T ES 17706610T ES 2821676 T3 ES2821676 T3 ES 2821676T3
- Authority
- ES
- Spain
- Prior art keywords
- channel
- audio channel
- frequency domain
- generate
- target audio
- 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
- 230000005236 sound signal Effects 0.000 title description 210
- 238000000034 method Methods 0.000 claims description 45
- 230000001364 causal effect Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 10
- 238000009877 rendering Methods 0.000 claims description 2
- 230000003595 spectral effect Effects 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 description 33
- 230000008859 change Effects 0.000 description 28
- 230000004044 response Effects 0.000 description 28
- 230000000875 corresponding effect Effects 0.000 description 27
- 230000003111 delayed effect Effects 0.000 description 18
- 238000012952 Resampling Methods 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 230000009977 dual effect Effects 0.000 description 8
- 238000009499 grossing Methods 0.000 description 7
- 208000024875 Infantile dystonia-parkinsonism Diseases 0.000 description 6
- 208000001543 infantile parkinsonism-dystonia Diseases 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007670 refining Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000006978 adaptation 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
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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
-
- 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/02—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 using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—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 using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- 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/04—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 using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- 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/02—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 using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—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 using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
- G10L19/0208—Subband vocoders
-
- 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/04—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 using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Physics (AREA)
- Stereophonic System (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un dispositivo que comprende: un codificador configurado para: determinar un primer valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de audio de referencia y el canal de audio objetivo; y determinar si se debe realizar una primera operación de desplazamiento temporal en el canal de audio objetivo al menos basándose en el primer valor de desajuste y un modo de codificación para generar un canal de audio objetivo ajustado; realizar una primera operación de desplazamiento temporal en el canal de audio objetivo para generar un audio objetivo ajustado basándose en el primer valor de desajuste; realizar una primera operación de transformada en el canal de audio de referencia para generar un canal de audio de referencia en el dominio de la frecuencia; realizar una segunda operación de transformada en el canal de audio objetivo ajustado para generar un canal de audio objetivo ajustado en el dominio de la frecuencia; determinar un segundo valor de desajuste entre el canal de audio de referencia y el canal de audio objetivo ajustado en un dominio de transformada; determinar si se debe realizar una segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en la primera operación de desplazamiento temporal para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado; realizar la segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en el segundo valor de desajuste para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado; y estimar una o más indicaciones de estéreo basándose en el canal de audio de referencia en el dominio de la frecuencia y el canal de audio objetivo ajustado en el dominio de la frecuencia modificado; y un transmisor configurado para transmitir la una o más indicaciones de estéreo.
Description
DESCRIPCIÓN
Codificación de múltiples señales de audio
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/294946 en copropiedad, titulada "ENCODING OF MULTIPLE AUDIO SIGNALS [Codificación de múltiples señales de audio]", presentada el viernes, 12 de febrero de 2016, y la solicitud no provisional de patente estadounidense n.° 15/422 988, titulada "ENCODING OF MULTIPLE AUDIO SIGNALS", presentada el 2 de febrero de 2017.
II. Campo
[0002] La presente divulgación se refiere en general a la codificación de múltiples señales de audio.
III. Descripción de la técnica relacionada
[0003] Los avances en la tecnología han dado como resultado dispositivos informáticos más pequeños y más potentes. Por ejemplo, existe 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 retardarse en relación con una primera señal de audio recibida desde el primer micrófono debido a las distancias respectivas de los micrófonos desde la fuente de sonido. En otras implementaciones, la primera señal de audio puede retardarse con respecto a la segunda señal de audio. En la codificación estéreo, las señales de audio de los micrófonos se pueden codificar para generar una señal de canal medio y una o más señales de canal lateral. Un enfoque a modo de ejemplo para la codificación estéreo se describe en el documento US 2013/0301835 A1. La señal de canal medio puede corresponder a una suma de la primera señal de audio y la segunda señal de audio. La señal de 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 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 de la primera señal de audio en relación con la segunda señal de audio puede incrementar la diferencia entre las dos señales de audio. Debido al incremento en la diferencia, se puede usar un mayor número de bits para codificar la señal del canal lateral. En algunas implementaciones, la primera señal de audio y la segunda señal de audio pueden incluir una parte de la señal de banda baja y banda alta.
IV. Breve explicación
[0005] En una implementación particular, un dispositivo incluye un codificador y un transmisor según la reivindicación 1.
[0006] En otra implementación particular, un procedimiento de comunicación incluye los pasos definidos por la reivindicación 14.
[0007] En otra implementación particular, de acuerdo con la reivindicación 15, un dispositivo de almacenamiento legible por ordenador almacena instrucciones que, cuando se ejecutan mediante un procesador, hacen que el procesador realice las operaciones de acuerdo con este procedimiento.
[0008] Otras implementaciones, ventajas y características de la presente divulgación resultarán evidentes después de revisar la solicitud completa, incluyendo las siguientes secciones: Breve descripción de los dibujos, Descripción detallada y Reivindicaciones.
V. Breve descripción de los dibujos
[0009]
La FIG. 1 es un diagrama de bloques de un ejemplo ilustrativo particular de un sistema que incluye un codificador operativo para codificar múltiples señales de audio;
la FIG. 2 es un diagrama que ilustra el codificador de la FIG. 1;
la FIG. 3 es un diagrama que ilustra una primera implementación de un codificador estéreo en el dominio de la frecuencia del codificador de la FIG. 1;
la FIG. 4 es un diagrama que ilustra una segunda implementación de un codificador estéreo en el dominio de la frecuencia del codificador de la FIG. 1;
la FIG. 5 es un diagrama que ilustra una tercera implementación de un codificador estéreo en el dominio de la frecuencia del codificador de la FIG. 1;
la FIG. 6 es un diagrama que ilustra una cuarta implementación de un codificador estéreo en el dominio de la frecuencia del codificador de la FIG. 1;
la FIG. 7 es un diagrama que ilustra una quinta implementación de un codificador estéreo en el dominio de la frecuencia del codificador de la FIG. 1;
la FIG. 8 es un diagrama que ilustra un preprocesador de señal del codificador de la FIG. 1;
la FIG. 9 es un diagrama que ilustra un estimador de desplazamiento del codificador de la FIG. 1;
la FIG. 10 es un diagrama de flujo que ilustra un procedimiento particular para codificar múltiples señales de audio;
la FIG. 11 es un diagrama que ilustra un descodificador operativo para descodificar señales de audio;
la FIG. 12 es un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo que es operativo para codificar múltiples señales de audio; y
la FIG. 13 es un diagrama de bloques de una estación base que es operativa para codificar múltiples señales de audio.
VI. Descripción detallada
[0010] 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.
[0011] 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.
[0012] 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 sobre 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 o codificadas basándose en un modelo 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 o banda de frecuencias 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), ganancias de predicción laterales o residuales, 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. En algunas implementaciones, la codificación PS puede usarse en las bandas inferiores también para reducir la redundancia entre canales antes de la codificación de formas de onda.
[0013] La codificación MS y la codificación PS pueden realizarse en el dominio de la 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.
[0014] Dependiendo de la configuración de grabación, puede haber un desajuste 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 desajuste 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 cambian temporalmente, 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
[0015] donde M corresponde al canal medio, S corresponde al canal lateral, L corresponde al canal izquierdo y R corresponde al canal derecho.
[0016] 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
[0017] 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 a la 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 a la realización de un algoritmo de "mezcla ascendente".
[0018] En algunos casos, el canal medio puede basarse en otras fórmulas como:
o Fórmula 3
M = (L+goR)/2, or Formula 3
Fórmula 4
M = giL gíR F ormula 4
[0019] , donde g1 g2 = 1,0, y donde gD es un parámetro de ganancia. En otros ejemplos, la mezcla descendente se puede realizar en bandas, donde mid(b) = c1L(b) c2R(b), donde c y c2 son números complejos, donde side(b) = c3L(b) - c4R(b), y donde c3 y c4 son números complejos.
[0020] 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 un canal medio y un canal lateral, calcular las energías del canal medio y el canal lateral, y determinar si se realiza una codificación MS basándose 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 del canal lateral y el canal medio 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 del canal medio (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 un 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.
[0021] En algunos ejemplos, el codificador puede determinar un valor de desajuste indicativo de una cantidad de desajuste temporal entre la primera señal de audio y la segunda señal de audio. Como se usa en el presente documento, un "valor de desplazamiento temporal", un "valor de desplazamiento" y un "valor de desajuste" se pueden usar indistintamente. Por ejemplo, el codificador puede determinar un valor de desplazamiento temporal indicativo de un desplazamiento (por ejemplo, el desajuste temporal) de la primera señal de audio con respecto a la segunda señal de audio. El valor de desplazamiento 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 desplazamiento trama por trama, por ejemplo, basándose en cada trama de voz/audio de 20 milisegundos (ms). Por ejemplo, el valor de desplazamiento 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 desplazamiento puede corresponder a una cantidad de tiempo en el 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.
[0022] 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.
[0023] 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 desajuste temporal también puede cambiar de una trama a otra. Sin embargo, en algunas implementaciones, el valor de desplazamiento 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 desplazamiento 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" en el codificador. 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.
[0024] El codificador puede determinar el valor de desplazamiento basado en el canal de audio de referencia y una pluralidad de valores de desplazamiento 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 momento (m) correspondiente a un primer valor de desplazamiento, por ejemplo, desplazamiento1 = m - mu. Además, una segunda trama del primer canal de audio de referencia puede recibirse en un tercer momento (m2). Una segunda trama particular del canal de audio objetivo puede recibirse en un cuarto momento (n2) correspondiente a un segundo valor de desplazamiento, por ejemplo, cambio2 = n2 - m2.
[0025] 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 desplazamiento (por ejemplo, desplazamiento1) 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).
[0026] En algunos ejemplos, el canal izquierdo y el canal derecho pueden no estar alineados temporalmente debido a diversas 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 primer canal y el segundo canal. Además, puede haber una diferencia de ganancia, una diferencia de energía o una diferencia de nivel entre el primer canal y el segundo canal.
[0027] En algunos ejemplos, en los que hay más de dos canales, un canal de referencia se selecciona inicialmente basándose en los niveles o energías de los canales, y posteriormente se refina basándose en los valores de desajuste temporal entre diferentes pares de los canales, por ejemplo, t1 (ref, ch2), t2 (ref, ch3), t3 (ref, ch4),... t3 (ref, chN), donde ch1 es el canal de referencia inicialmente y t1 (.), t2 (.), etc. son las funciones para estimar los valores de desajuste. Si todos los valores de desajuste temporal son positivos, entonces ch1 se trata como el canal de referencia. Si alguno de los valores de desajuste es un valor negativo, entonces el canal de referencia se reconfigura al canal que estaba asociado con un valor de desajuste que dio como resultado un valor negativo y el proceso anterior continúa
hasta que se logre la mejor selección (es decir, basado en la descorrelación máxima de un número máximo de canales laterales) del canal de referencia. Se puede usar una histéresis para superar cualquier variación repentina en la selección del canal de referencia.
[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 ejemplo, 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 desplazamiento temporal basado en el hablante para identificar el canal de referencia. En algunos otros ejemplos, varios interlocutores pueden estar hablando al mismo tiempo, lo cual puede dar como resultado valores de desplazamiento temporal variables dependiendo de quién sea el interlocutor más alto, el más cercano al micrófono, etc. En tal caso, la identificación de los canales de referencia y objetivo puede basarse en los valores de desplazamiento temporal variables en la trama actual, los valores estimados de desajuste temporal en las tramas anteriores y la energía (o evolución temporal) de la primera y segunda señales de audio.
[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 desplazamiento particular. El codificador puede determinar un primer valor de desplazamiento estimado basado en los valores de comparación. Por ejemplo, el primer valor de desplazamiento 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 la primera trama correspondiente de la segunda señal de audio.
[0031] El codificador puede determinar el valor de desplazamiento final refinando, en múltiples fases, una serie de valores de desplazamiento estimados. Por ejemplo, el codificador puede estimar primero un valor de desplazamiento "provisional" 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 desplazamiento próximos al valor de desplazamiento "provisional" estimado. El codificador puede determinar un segundo valor de desplazamiento "interpolado" estimado basado en los valores de comparación interpolados. Por ejemplo, el segundo valor de desplazamiento "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 desplazamiento "provisional" estimado. Si el segundo valor de desplazamiento "interpolado" estimado de la trama actual (por ejemplo, la primera trama de la primera señal de audio) es diferente al valor de desplazamiento 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 desplazamiento "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 desplazamiento "modificado" estimado puede corresponder a una medida más precisa de la similitud temporal buscando alrededor del segundo valor de desplazamiento "interpolado" estimado de la trama actual y el valor de desplazamiento estimado final de la trama previa. El tercer valor de desplazamiento "modificado" estimado está además condicionado a estimar el valor de desplazamiento final al limitar cualquier desplazamiento espurio en el valor de desplazamiento entre tramas y se controla además para no cambiar de un valor de desplazamiento negativo a un valor de desplazamiento 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 desplazamiento positivo y un valor de desplazamiento negativo o viceversa en tramas consecutivas o en tramas adyacentes. Por ejemplo, el codificador puede establecer el valor de desplazamiento final en un valor particular (por ejemplo, 0) que indica que no hay desplazamiento temporal basado en el valor de desplazamiento "interpolado" o "modificado" estimado de la primera trama y un valor de desplazamiento 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 desplazamiento 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 desplazamiento "tentativos" o "interpolados" o "modificados" estimados de la trama actual es positivo y el otro de los valores de desplazamiento estimados "provisionales" 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 desplazamiento 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 desplazamiento "provisionales" o "interpolados" o "modificados" estimados de la trama actual es negativo y el otro de los valores de desplazamiento estimados "provisionales" 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 desplazamiento. Por ejemplo, en respuesta a la determinación de que el valor de desplazamiento 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 un canal de "referencia" y que la segunda señal de audio es el canal "objetivo". De forma alternativa, en respuesta a la determinación de que el valor de desplazamiento 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 el canal de "referencia" y que la primera señal de audio es el canal "objetivo".
[0034] El codificador puede estimar una ganancia relativa (por ejemplo, un parámetro de ganancia relativa) asociada con el canal de referencia y el canal objetivo desplazado no causal. Por ejemplo, en respuesta a la determinación de que el valor de desplazamiento 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 desplazamiento no causal (por ejemplo, un valor absoluto del valor de desplazamiento final). De forma alternativa, en respuesta a la determinación de que el valor de desplazamiento final es negativo, el codificador puede estimar un valor de ganancia para normalizar o igualar los niveles de potencia o amplitud de la primera señal de audio 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 amplitud o potencia del canal de "referencia" en relación con el canal "objetivo" desplazado no causal. En otros ejemplos, el codificador puede estimar el valor de ganancia (por ejemplo, un valor de ganancia relativa) basado en el canal de referencia relativo al canal objetivo (por ejemplo, el canal objetivo no desplazado).
[0035] El codificador puede generar al menos una señal codificada (por ejemplo, un canal intermedio, un canal lateral, o ambos), basado en el canal de referencia, el canal objetivo, el valor del desplazamiento no causal, y el parámetro de ganancia relativa. En otras implementaciones, el codificador puede generar al menos una señal codificada (por ejemplo, un canal medio, un canal lateral o ambos) basándose en el canal de referencia y el canal objetivo ajustado por desajuste temporal. El canal 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 desplazamiento 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 al menos una señal codificada, el valor de desplazamiento no causal, el parámetro de ganancia relativa, el canal de referencia o el indicador de señal, o una combinación de los mismos.
[0036] El codificador puede generar al menos una señal codificada (por ejemplo, un canal medio, un canal lateral o ambos) basándose en el canal de referencia, el canal objetivo, el valor de desplazamiento 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 un canal medio, un canal lateral, o ambos, de la primera trama. La codificación del canal medio, el canal lateral, o ambos, basados en los parámetros de banda baja, los parámetros de banda alta, o una combinación de los mismos, puede incluir las estimaciones del valor de desplazamiento 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 formación 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 desplazamiento no causal, el parámetro de ganancia relativa, el indicador de canal de referencia (o señal) o una combinación de los mismos.
[0037] En la presente divulgación, términos tales como "determinar", "calcular", "desplazar", "ajustar", etc. pueden usarse para describir cómo se realizan una o más operaciones. Cabe destacar que dichos términos no deben interpretarse como limitantes y se pueden utilizar otras técnicas para realizar operaciones similares.
[0038] 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.
[0039] 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 un dominio del tiempo (TD), dominio de la frecuencia (FD) y un codificador estéreo 109 flexible adaptable a la señal basado en transformada de coseno discreta modificada (MDCT). El codificador estéreo flexible adaptable a la señal 109 puede configurarse para mezclar 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 191. 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.
[0040] Durante el funcionamiento, el primer dispositivo 104 puede recibir una primera señal de audio 130 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 a través de la segunda interfaz de entrada desde el segundo micrófono 148. La primera señal de audio 130 puede corresponder a una de una señal del canal derecho o una señal del canal izquierdo. La segunda señal de audio 132 puede corresponder a la otra de la señal del canal derecho o la señal del canal izquierdo. 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 determinar un valor de desajuste (por ejemplo, el "valor de desplazamiento final" 116 o "valor de desplazamiento no causal") indicativo de una cantidad de desajuste temporal entre un canal de referencia y un canal de objetivo. De acuerdo con una implementación, la primera señal de audio 130 es el canal de referencia y la segunda señal de audio 132 es el canal objetivo. De acuerdo con otra implementación, la segunda señal de audio 132 es el canal de referencia y la primera señal de audio 130 es el canal objetivo. El canal de referencia y el canal objetivo pueden cambiar trama a trama. Como ejemplo no limitativo, si una trama de la primera señal de audio 130 llega al primer micrófono 146 antes de que una trama correspondiente de la segunda señal de audio 132 llegue al segundo micrófono 148, la primera señal de audio 130 puede ser el canal de referencia. y la segunda señal de audio 132 puede ser el canal objetivo. De forma alternativa, si una trama de la segunda señal de audio 132 llega al segundo micrófono 148 antes de que una trama correspondiente de la primera señal de audio 130 llegue al primer micrófono 146, la segunda señal de audio 132 puede ser el canal de referencia y la primera señal de audio 130 puede ser el canal objetivo. El canal objetivo puede corresponder a un canal de audio retardado de las dos señales de audio 130, 132 y el canal de referencia puede corresponder a un canal de audio delante de las dos señales de audio 130, 132. Por tanto, la designación del canal de referencia y el canal objetivo puede depender de la ubicación de la fuente de sonido 152 con respecto al micrófono 146, 148.
[0042] Un primer valor (por ejemplo, un valor positivo) del valor de desplazamiento 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 desplazamiento 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 desplazamiento final 116 puede indicar que no hay retardo entre la primera señal de audio 130 y la segunda señal de audio 132.
[0043] En algunas implementaciones, el tercer valor (por ejemplo, 0) del valor de desplazamiento 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. 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 retardada con respecto a la primera trama. 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 retardada con respecto a la segunda trama. El ecualizador temporal 108 puede establecer el valor de desplazamiento 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.
[0044] El ecualizador temporal 108 puede generar un indicador de canal de referencia basado en el valor de desplazamiento final de 116. Por ejemplo, el ecualizador temporal 108 puede, en respuesta a la determinación de que el valor de desplazamiento final 116 indica un primer valor (por ejemplo, un valor positivo), generar el indicador de canal de referencia para tener un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 es un canal de "referencia" 190. El ecualizador temporal 108 puede determinar que la segunda señal de audio 132 corresponde a un canal "objetivo" (no mostrado) en respuesta a la determinación de que el valor de desplazamiento 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 desplazamiento final 116 indica un segundo valor (por ejemplo, un valor negativo), generar el indicador de canal de referencia para tener un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio 132 es el canal de "referencia" 190. El ecualizador temporal 108 puede determinar que
la primera señal de audio 130 corresponde al canal "objetivo" en respuesta a la determinación de que el valor de desplazamiento 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 desplazamiento final 116 indica un tercer valor (por ejemplo, 0), generar el indicador de canal de referencia para tener un primer valor (por ejemplo, 0) que indica que la primera señal de audio 130 es un canal de "referencia" 190. El ecualizador temporal 108 puede determinar que la segunda señal de audio 132 corresponde al canal "objetivo" en respuesta a la determinación de que el valor de desplazamiento 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 desplazamiento final 116 indica un tercer valor (por ejemplo, 0), generar el indicador de canal de referencia para tener un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio 132 es el canal de "referencia" 190. El ecualizador temporal 108 puede determinar que la primera señal de audio 130 corresponde a un canal "objetivo" en respuesta a la determinación de que el valor de desplazamiento 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 desplazamiento final 116 indica un tercer valor (por ejemplo, 0), dejar el indicador de canal de referencia sin cambios. Por ejemplo, el indicador de canal de referencia puede ser el mismo que un indicador de canal 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 desplazamiento no causal indicando un valor absoluto del valor de desplazamiento final 116.
[0045] El ecualizador temporal 108 puede generar un indicador de canal objetivo basándose en el canal objetivo, el canal de referencia 190, un primer valor de desplazamiento (por ejemplo, un valor de desplazamiento para una trama anterior), el valor del desplazamiento final de 116, el indicador de canal de referencia, o una combinación de los mismos. El indicador de canal objetivo puede indicar cuál de la primera señal de audio 130 o la segunda señal de audio 132 es el canal objetivo. El ecualizador temporal 108 puede determinar si desplazar temporalmente el canal objetivo para generar un canal objetivo 192 ajustado basándose en el menos en el indicador del canal objetivo, el canal objetivo, un modo de codificación o mezcla descendente estéreo, o una combinación de los mismos. Por ejemplo, el ecualizador temporal 108 puede ajustar el canal objetivo (por ejemplo, la primera señal de audio 130 o la segunda señal de audio 132) basándose en una evolución de desplazamiento temporal desde el primer valor de cambio hasta el valor de cambio final 116. El ecualizador temporal 108 puede interpolar el canal objetivo de modo que un subconjunto de muestras del canal objetivo que corresponden a los límites de la trama se eliminen mediante el suavizado y el desplazamiento lento para generar el canal objetivo ajustado 192.
[0046] Por lo tanto, el ecualizador temporal 108 puede desplazar temporalmente el canal objetivo para generar el canal objetivo ajustado 192 de tal manera que el canal de referencia 190 y el canal objetivo ajustado 192 se sincronizan sustancialmente. El ecualizador temporal 108 puede generar parámetros de mezcla descendente en el dominio del tiempo 168. Los parámetros de mezcla descendente en el dominio del tiempo pueden indicar un valor de desplazamiento entre el canal objetivo y el canal de referencia 190. En otras implementaciones, los parámetros de mezcla descendente en el dominio del tiempo pueden incluir parámetros adicionales como una ganancia de mezcla descendente, etc. Por ejemplo, los parámetros de mezcla descendente en el dominio del tiempo 168 pueden incluir un primer valor de desplazamiento 262, un indicador de canal de referencia 264, o ambos, como se describe adicionalmente con referencia a la FIG. 2. El ecualizador temporal 108 se describe con más detalle con respecto a la FIG. 2. El ecualizador temporal 108 puede proporcionar el canal de referencia 190 y el canal objetivo ajustado 192 al dominio del tiempo o al dominio de la frecuencia o un codificador estéreo de canal independiente híbrido (por ejemplo, mono dual) 109, como se muestra.
[0047] El codificador estéreo "flexible" adaptable a la señal 109 puede transformar una o más señales en el dominio del tiempo (por ejemplo, el canal de referencia 190 y el canal objetivo ajustado 192) en señales en el dominio de la frecuencia. El codificador estéreo flexible adaptable a la señal 109 está configurado además para determinar si se debe realizar una segunda operación de desplazamiento temporal (por ejemplo, no causal) en el canal objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en la primera operación temporalde cambio para generar un canal objetivo ajustado en el dominio de la frecuencia modificado. Las señales en el dominio del tiempo 190, 192 y las señales en el dominio de la frecuencia se pueden usar para estimar las indicaciones de estéreo 162. Las indicaciones de estéreo 162 pueden incluir parámetros que permiten la renderización de propiedades espaciales asociadas con canales izquierdos y canales derechos. De acuerdo con algunas implementaciones, las indicaciones de estéreo 162 pueden incluir parámetros tales como parámetros de diferencia de intensidad entre canales (IID) (por ejemplo, diferencias de nivel entre canales (ILD), parámetros de diferencia de tiempo entre canales (ITD), parámetros de diferencia de fase entre canales (IPD), parámetros de desajuste temporal o de desplazamientos no causales, parámetros de inclinación espectral, parámetros de voz entre canales, parámetros de tono entre canales, parámetros de ganancia entre canales, etc. Las indicaciones de estéreo 162 pueden usarse en el codificador estéreo 109 "flexible" adaptable a la señal durante la generación de otras señales. Las indicaciones de estéreo 162 también pueden transmitirse como parte de una señal codificada. La estimación y el uso de las indicaciones de estéreo 162 se describen más en detalle con respecto a las FIGS. 3-7.
[0048] El codificador estéreo "flexible" adaptable a la señal 109 también puede generar un flujo de bits de banda lateral 164 y un flujo de bits de banda media 166 basándose en el menos en parte en las señales en el dominio de la frecuencia. Con fines ilustrativos, a menos que se indique lo contrario, se supone que el canal de referencia 190 es una señal del canal izquierdo (1 o L) y el canal objetivo ajustado 192 es una señal del canal derecho (r o R). La
representación en el dominio de la frecuencia del canal de referencia 190 puede observarse como Lfr(b) y la representación en el dominio de la frecuencia del canal objetivo ajustado 192 puede observarse como Rfr(b), donde b representa una banda de las representaciones del dominio de la frecuencia. De acuerdo con una implementación, se puede generar un canal de banda lateral Sfr(b) en el dominio de la frecuencia a partir de representaciones en el dominio de la frecuencia del canal de referencia 190 y el canal objetivo ajustado 192. Por ejemplo, el canal de banda lateral Sfr(b) puede expresarse como (Lfr(b)-Rfr(b))/2. El canal de banda lateral Sfr(b) puede proporcionarse a un codificador de banda lateral para generar el flujo de bits de banda lateral 164. De acuerdo con una implementación, un canal de banda media m(t) puede generarse en el dominio del tiempo y transformarse en el dominio de la frecuencia. Por ejemplo, el canal de banda media m(t) puede expresarse como (l(t)+r(t))/2. La generación del canal de banda media en el dominio del tiempo antes de la generación del canal de banda media en el dominio de la frecuencia se describe con mayor detalle con respecto a las FIGS. 3, 4 y 7. De acuerdo con otra implementación, se puede generar un canal de banda media Mfr(b) a partir de señales en el dominio de la frecuencia (por ejemplo, evitando la generación de canales en la banda media en el dominio del tiempo). La generación del canal de banda media Mfr (b) a partir de señales en el dominio de la frecuencia se describe con mayor detalle con respecto a las FIGS. 5-6. Los canales de banda media en el dominio del tiempo/dominio de la frecuencia pueden proporcionarse a un codificador de banda media para generar el flujo de bits de banda media 166.
[0049] El canal de banda lateral Sfr(b) y el canal de banda media m(t) o Mfr(b) pueden codificarse usando múltiples técnicas. De acuerdo con una implementación, el canal de banda media en el dominio del tiempo m(t) puede codificarse usando una técnica en el dominio del tiempo, como la predicción lineal activada por código algebraico (ACELP), con una extensión de ancho de banda para codificación de banda alta. Antes de la codificación de banda lateral, el canal de banda media m(t) (codificado o no codificado) puede convertirse en el dominio de la frecuencia (por ejemplo, el dominio de transformada) para generar el canal de banda media Mfr(b).
[0050] Una implementación de la codificación de banda lateral incluye la predicción de una SPRED(b) de banda lateral a partir del canal de banda media en el dominio de la frecuencia Mfr(b) usando la información en el canal de banda media de frecuencia Mfr(b) y las indicaciones de estéreo 162 (por ejemplo, ILD) correspondientes a la banda (b). Por ejemplo, la banda lateral predicha SPRED(b) puede expresarse como Mfr(b)*(ILD(b)-1)/(ILD(b)+1). Una señal de error e puede calcularse como función del canal de banda lateral Sfr y la banda lateral predicha SPRED. Por ejemplo, la señal de error e puede expresarse como Sfr-SPRED o Sfr. La señal de error e puede codificarse usando técnicas de codificación en el dominio del tiempo o el dominio de la transformada para generar una señal de error codificada eCODED. Para ciertas, la señal de error e puede expresarse como una versión escalada de una señal de un canal de banda media M_PASTfr en las bandas de una trama anterior. Por ejemplo, la señal de error codificada eCODED puede expresarse como gPRED* M_PASTfr, donde gPRED puede estimarse de manera que una energía de e-gPRED*M_PASTfr se reduce sustancialmente (por ejemplo, se minimiza). La trama M_PAST que se utiliza puede basarse en la forma de la ventana utilizada para el análisis/síntesis y puede estar restringido para utilizar solo saltos de ventana uniformes.
[0051] El transmisor 110 puede transmitir las indicaciones de estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, los parámetros de mezcla descendente en el dominio del tiempo 168, o una combinación de los mismos, a través de la red 120, al segundo dispositivo 106. De forma alternativa, o adicional, el transmisor 110 puede almacenar las indicaciones de estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, los parámetros de mezcla descendente en el dominio del tiempo 168, o una combinación de los mismos, en un dispositivo de la red 120 o un dispositivo local para su posterior procesamiento o descodificación. Debido a que un cambio no causal (por ejemplo, el valor de cambio final 116) puede determinarse durante el proceso de codificación, la transmisión de IPD (por ejemplo, como parte de las indicaciones de estéreo 162) además del cambio no causal en cada banda puede ser redundante. Por tanto, en algunas implementaciones, se puede estimar un IPD y un cambio no casual para la misma trama pero en bandas mutuamente excluyentes. En otras implementaciones, se pueden estimar los IPD de menor resolución además del cambio para realizar ajustes por banda más precisos. De forma alternativa, los IPD pueden no determinarse para tramas en las que se determina el cambio no casual. En algunos otros modos de realización, los IPD pueden determinarse pero no usarse o restablecerse a cero, donde el cambio no causal satisface un umbral.
[0052] El descodificador 118 puede realizar operaciones de descodificación basándose en las indicaciones de estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, y los parámetros de mezcla descendente en el dominio del tiempo 168. Por ejemplo, el descodificador estéreo en el dominio de la frecuencia 125 y el equilibrador temporal 124 pueden 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 ambos. 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. En ejemplos alternativos, la primera señal de salida 126 y la segunda señal de salida 128 pueden transmitirse como un par de indicaciones de estéreo a un único altavoz de salida.
[0053] El sistema 100 por lo tanto puede permitir al codificador estéreo "flexible" adaptable a la señal 109 transformar el canal de referencia 190 y el canal objetivo ajustado 192 en el dominio de la frecuencia para generar las indicaciones de estéreo 162, el flujo de bits de banda lateral 164, y el flujo de bits de banda media 166. Las técnicas de desplazamiento temporal del ecualizador temporal 108 que desplazan temporalmente la primera señal de audio 130
para alinearse con la segunda señal de audio 132 pueden implementarse junto con el procesamiento de la señal en el dominio de la frecuencia. Para ilustrar, el ecualizador temporal 108 estima un cambio (por ejemplo, un valor de cambio no casual) para cada trama en el codificador 114, cambia (por ejemplo, ajusta) un canal objetivo de acuerdo con el valor de cambio no casual y utiliza los canales ajustados por cambio para la estimación de indicaciones de estéreo en el dominio de transformada.
[0054] Con referencia a la FIG. 2, se muestra un ejemplo ilustrativo del codificador 114 del primer dispositivo 104. El codificador 114 incluye el ecualizador temporal 108 y el codificador estéreo "flexible" adaptable a la señal 109.
[0055] El ecualizador temporal 108 incluye un preprocesador de señal 202 acoplado, a través de un estimador de desplazamiento 204, a un analizador de variación de desplazamiento entre tramas 206, al designador de canal de referencia 208, o ambos. En una implementación particular, el preprocesador de señal 202 puede corresponder a un remuestreador. El analizador de variación de desplazamiento entre tramas 206 puede acoplarse, a través de un ajustador de canal objetivo 210, al codificador estéreo "flexible" adaptable a la señal 109. El designador del canal de referencia 208 puede acoplarse al analizador de variación de desplazamiento entre tramas 206. Basándose en el valor de desajuste temporal, el TD estéreo, el estéreo en el dominio de la frecuencia o la mezcla descendente estéreo MDCT se utilizan en el codificador estéreo "flexible" adaptable a la señal 109.
[0056] Durante el funcionamiento, el preprocesador de señal 202 puede recibir una señal de audio 228. Por ejemplo, el preprocesador de señal 202 puede recibir la señal de audio 228 desde la interfaz o interfaces de entrada 112. La señal de audio 228 puede incluir la primera señal de audio 130, la segunda señal de audio 132, o ambas. El preprocesador 202 de señales puede generar un primer canal remuestreado 230, un segundo canal remuestreado 232 o ambos. Las operaciones del preprocesador 202 de señales se describen con mayor detalle con respecto a la FIG. 8. El preprocesador de señal 202 puede proporcionar el primer canal remuestreado 230, el segundo canal remuestreado 232, o ambos, al estimador de desplazamiento 204.
[0057] El estimador de desplazamiento 204 puede generar el valor de desplazamiento final 116 (T), el valor de desplazamiento no causal, o ambos, basándose en el primer canal remuestreado 230, el segundo canal remuestreado 232, o ambos. Las operaciones del estimador de desplazamiento 204 se describen más en detalle con respecto a la FIG. 9. El estimador de desplazamiento 204 puede proporcionar el valor de desplazamiento final 116 al analizador de variación de desplazamiento entre tramas 206, el designador de canal de referencia 208, o ambos.
[0058] El canal de referencia designador 208 puede generar un indicador de canal de referencia 264. El indicador del canal de referencia 264 puede indicar cuál de las señales de audio 130, 132 es el canal de referencia 190 y cuál de las señales 130, 132 es el canal objetivo 242. El designador de señal de referencia 208 puede proporcionar el indicador de canal de referencia 264 al analizador de variación de desplazamiento entre tramas 206.
[0059] El analizador de variación de desplazamiento entre tramas 206 puede generar un indicador de canal objetivo 266 basándose en el canal objetivo 242, el canal de referencia 190, el primer valor de desplazamiento 262 (Tprev), el valor de desplazamiento final 116 (T), el indicador de canal de referencia 264, o una combinación de los mismos. El analizador de variación de desplazamiento entre tramas 206 puede proporcionar el indicador de canal objetivo 266 al ajustador de canal objetivo 210.
[0060] El ajustador de canal objetivo 210 puede generar una canal objetivo ajustado 192 basándose en el indicador de canal objetivo 266, al canal objetivo 242, o ambos. El ajustador de canal objetivo 210 puede ajustar el canal objetivo 242 basándose en una evolución de desplazamiento temporal desde el primer valor de desplazamiento 262 (Tprev) al valor de desplazamiento final 116 (T). Por ejemplo, el primer valor de desplazamiento 262 puede incluir un valor de desplazamiento final correspondiente a la trama anterior. El ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final cambió desde el primer valor de desplazamiento 262 que tiene un primer valor (por ejemplo, Tprev = 2) correspondiente a la trama que es menor que el valor de desplazamiento final 116 (por ejemplo, T = 4) correspondiente a la trama anterior, interpolar el canal objetivo 242 de modo que un subconjunto de muestras del canal objetivo 242 que corresponden a los límites de trama se eliminan mediante suavizado y desplazamiento lento para generar el canal objetivo ajustado 192. De forma alternativa, el ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final cambiado desde el primer valor de desplazamiento 262 (por ejemplo, Tprev = 4) que es mayor que el valor de desplazamiento final 116 (por ejemplo, T = 2), interpolar el canal objetivo 242 de modo que un subconjunto de muestras del canal objetivo 242 que corresponden a los límites de trama se repiten mediante suavizado y desplazamiento lento para generar el canal objetivo ajustado 192. El suavizado y el desplazamiento lento pueden realizarse basándose en interpoladores híbridos Sinc y Lagrange. El ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final no cambia desde el primer valor de desplazamiento 262 al valor de desplazamiento final 116 (por ejemplo, Tprev = T), desviar temporalmente el canal objetivo 242 para generar el canal objetivo ajustado 192. El ajustador del canal objetivo 210 puede proporcionar el canal objetivo ajustado 192 al codificador estéreo "flexible" adaptable a la señal 109.
[0061] El canal de referencia 190 puede también proporcionarse al codificador estéreo "flexible" adaptable a la señal 109. El codificador estéreo flexible adaptable a la señal 109 puede generar las indicaciones de estéreo 162, el flujo de
bits de banda lateral 164 y el flujo de bits de banda media 166 basándose en el canal de referencia 190 y el canal objetivo ajustado 192, como se describe con respecto a la FIG. 1 y como se describe adicionalmente con respecto a las FIGS. 3-7.
[0062] En referencia a las FIGS. 3-7, se muestran algunos ejemplos de implementaciones detalladas 109a-109e del codificador estéreo "flexible" adaptable a la señal 109 que trabaja junto con las operaciones de mezcla descendente en el dominio del tiempo como se describe en la FIG. 2. En algunos ejemplos, el canal de referencia 190 puede incluir una señal del canal izquierdo y el canal objetivo ajustado 192 puede incluir una señal del canal derecho. Sin embargo, debe entenderse que en otros ejemplos, el canal de referencia 190 puede incluir una señal del canal derecho y el canal objetivo ajustado 192 puede incluir una señal del canal izquierdo. En otras implementaciones, el canal de referencia 190 puede ser el canal derecho o el canal izquierdo que se elige trama a trama y, de manera similar, el canal objetivo ajustado192 puede ser el otro de los canales izquierdo o derecho tras ajustarse para desajuste temporal. Con el propósito de las descripciones siguientes, proporcionamos ejemplos del caso específico cuando el canal de referencia 190 incluye una señal del canal izquierdo (L) y el canal objetivo ajustado 192 incluye una señal del canal derecho (R). Se pueden extender trivialmente descripciones similares para los otros casos. También debe entenderse que los diversos componentes ilustrados en la FIG. 3-7 (por ejemplo, transformadas, generadores de señales, codificadores, estimadores, etc.) pueden implementarse usando hardware (por ejemplo, circuitería dedicada), software (por ejemplo, instrucciones ejecutadas por un procesador) o una combinación de los mismos.
[0063] En la FIG. 3, se puede realizar una transformada 302 en el canal de referencia 190 y se puede realizar una transformada 304 en el canal objetivo ajustado 192. Las transformadas 302, 304 se pueden realizar mediante operaciones de transformada que generan señales en el dominio de la frecuencia (o dominio de subbanda). Como ejemplos no limitativos, realizar las transformadas 302, 304 puede incluir realizar operaciones de Transformada de Fourier discreta (DFT), operaciones de Transformada de Fourier rápida (FFT), operaciones de MDCT, etc. De acuerdo con algunas implementaciones, las operaciones de Quadrature Mirror Filterbank (QMF) (usando bandas de filtro, tales como un banco de filtros de retardo bajo complejo) pueden usarse para dividir las señales de entrada (por ejemplo, el canal de referencia 190 y el canal objetivo ajustado 192) en múltiples subbandas. La transformada 302 se puede aplicar al canal de referencia 190 para generar un canal de referencia en el dominio de la frecuencia (Lfr(b)) 330, y la transformada 304 se puede aplicar al canal objetivo ajustado 192 para generar una canal objetivo ajustado en el dominio de la frecuencia (Rfr(b)) 332. El codificador estéreo "flexible" adaptable a la señal 109a está configurado además para determinar si se debe realizar una segunda operación de desplazamiento temporal (por ejemplo, no causal) en el canal objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basado en la primera operación de desplazamiento temporal para generar un canal objetivo ajustado en el dominio de la frecuencia modificado 332. El canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia (modificado) 332 pueden proporcionarse a un estimador de indicaciones de estéreo 306 y a un generador de canal de banda lateral 308.
[0064] El estimador de indicaciones de estéreo 306 puede extraer (por ejemplo, generar) las indicaciones de estéreo 162 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332. Con objeto de ilustrar, IID (b) puede ser una función de las energías Ei_(b) de los canales izquierdos en la banda (b) y las energías ER(b) de los canales derechos en la banda (b). Por ejemplo, IID(b) puede expresarse como 20*log10(Ei_(b)/ER(b)). Los IPD estimados y transmitidos en un codificador pueden proporcionar una estimación de la diferencia de fase en el dominio de la frecuencia entre los canales izquierdo y derecho en la banda (b). Las indicaciones de estéreo 162 pueden incluir parámetros adicionales (o alternativos), tales como ICC, ITD, etc. Las indicaciones de estéreo 162 pueden transmitirse al segundo dispositivo 106 de la FIG. 1, proporcionado al generador de canal de banda lateral 308, y proporcionado a un codificador de banda lateral 310.
[0065] El generador de banda lateral 308 puede generar un canal de banda lateral en el dominio de la frecuencia (Sfr(b)) 334 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia (modificado) 332. El canal de banda lateral en el dominio de la frecuencia 334 puede estimarse en los bins/bandas en el dominio de la frecuencia. En cada banda, el parámetro de ganancia (g) es diferente y puede basarse en las diferencias de nivel intercanal (por ejemplo, basándose en las indicaciones de estéreo 162). Por ejemplo, el canal de banda lateral en el dominio de la frecuencia 334 puede expresarse como (Lfr(b) -c(b)*Rfr(b))/(1+c(b)), donde c(b) puede ser ILD(b) o una función de la ILD(b) (por ejemplo, c(b) = 10A(ILD(b)/20)). El canal de banda lateral en el dominio de la frecuencia 334 puede proporcionarse al codificador de banda lateral 310.
[0066] El canal de referencia 190 y el canal objetivo ajustado 192 también pueden proporcionarse a un generador de canal de banda media 312. El generador de canal de banda media 312 puede generar un canal de banda media en el dominio del tiempo (m (t)) 336 basado en el canal de referencia 190 y el canal objetivo ajustado 192. Por ejemplo, el canal de banda media en el dominio del tiempo 336 puede expresarse como (1(t)+r(t))/2, donde 1(t) incluye el canal de referencia 190 y r(t) incluye el canal objetivo ajustado 192. Se puede aplicar una transformada 314 al canal de banda media en el dominio del tiempo 336 para generar un canal de banda media en el dominio de la frecuencia (Mfr (b)) 338, y el canal de banda media en el dominio de la frecuencia 338 se puede proporcionar al codificador de banda lateral 310. El canal de banda media 336 en el dominio del tiempo también puede proporcionarse a un codificador de banda media 316.
[0067] El codificador de banda lateral 310 puede generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334, y el canal de banda media en el dominio de la frecuencia 338. El codificador de banda media 316 puede generar el flujo de bits de banda media 166 codificando el canal de banda media en el dominio del tiempo 336. En ejemplos particulares, el codificador de banda lateral 310 y el codificador de banda media 316 pueden incluir codificadores a Ce lp para generar el flujo de bits de banda lateral 164 y el flujo de bits de banda media 166, respectivamente. Para las bandas inferiores, el canal de banda lateral en el dominio de la frecuencia 334 puede codificarse usando una técnica de codificación en el dominio de transformada. Para las bandas superiores, el canal de banda lateral en el dominio de la frecuencia 334 puede expresarse como una predicción del canal de banda media de la trama anterior (cuantificado o no cuantificado).
[0068] Haciendo referencia a la FIG. 4, se muestra una segunda implementación 109b del codificador estéreo 109 "flexible" adaptable a la señal. La segunda implementación 109b del codificador estéreo 109 "flexible" adaptable a la señal puede funcionar de una manera sustancialmente similar a la primera implementación 109a del codificador 109 estéreo "flexible" adaptable a la señal. Sin embargo, en la segunda implementación 109b, se puede aplicar una transformada 404 al flujo de bits de banda media 166 (por ejemplo, una versión codificada del canal de banda media en el dominio del tiempo 336) para generar un flujo de bits de banda media en el dominio de la frecuencia 430. Un codificador de banda lateral 406 puede generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334 y el flujo de bits de banda media en el dominio de la frecuencia 430.
[0069] Haciendo referencia a la FIG. 5, se muestra una tercera implementación 109c del codificador estéreo "flexible" adaptable a la señal 109. La tercera implementación 109c del codificador estéreo 109 "flexible" adaptable a la señal puede funcionar de una manera sustancialmente similar a la primera implementación 109a del codificador 109 estéreo "flexible" adaptable a la señal. Sin embargo, en la tercera implementación 109c, el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332 pueden proporcionarse a un generador de canal de banda media 502. El codificador estéreo "flexible" adaptable a la señal 109c está configurado además para determinar si se debe realizar una segunda operación de desplazamiento temporal (por ejemplo, no causal) en el canal objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en la primera operación de cambio para generar un canal objetivo 332 ajustado en el dominio de la frecuencia modificado. De acuerdo con algunas implementaciones, las indicaciones de estéreo 162 también pueden proporcionarse al generador de canal de banda media 502. El generador de canal de banda media 502 puede generar un canal de banda media en el dominio de la frecuencia Mfr(b) 530 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332. De acuerdo con algunas implementaciones, el canal de banda media en el dominio de la frecuencia Mfr(b) 530 puede generarse también basándose en las indicaciones de estéreo 162. Algunos procedimientos de generación del canal de banda media 530 basados en el canal de referencia en el dominio de la frecuencia 330, el canal objetivo ajustado 332 y las indicaciones de estéreo 162 son de la siguiente manera.
Mfr(b) = (L&(b) Rfr(b))/2
Mfr(b) = cl(b)*Líi(b) C2*Rír(b),
donde c1(b) y c2(b) son valores complejos.
[0070] En algunas implementaciones, los valores complejos c1(b) y c2(b) se basan en las indicaciones de estéreo 162. Por ejemplo, en una implementación de la mezcla descendente del lado del medio cuando se estiman los IPD, c1(b) = (cos(-Y) - /*sin(-Y))/20’5 y c2(b) = (cos(IPD(b)-Y) i*sin(IPD(b)-Y))/20’5 donde i es el número imaginario que significa la raíz cuadrada de -1.
[0071] El canal de banda media en el dominio de la frecuencia 530 puede proporcionarse a un codificador de banda media 504 y a un codificador de banda lateral 506 con el fin de codificación eficiente del canal de banda lateral. En esta implementación, el codificador de banda media 504 puede transformar además el canal 530 de banda media en cualquier otro dominio de transformada/tiempo antes de la codificación. Por ejemplo, el canal de banda media 530 (Mfr(b)) puede transformarse de nuevo en el dominio del tiempo o transformarse en el dominio MDCT para la codificación.
[0072] El canal de banda media en el dominio de la frecuencia 530 puede proporcionarse a un codificador de banda media 504 y a un codificador de banda lateral 506 con el fin de codificación eficiente del canal de banda lateral. En esta implementación, el codificador de banda media 504 puede transformar además el canal de banda media 530 en un dominio de transformada o en un dominio del tiempo antes de la codificación. Por ejemplo, el canal 530 de banda media (Mfr(b)) puede transformarse de nuevo en el dominio del tiempo o transformarse en el dominio MDCT para la codificación.
[0073] El codificador de banda lateral 506 puede generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334, y el canal de banda media
en el dominio de la frecuencia 530. El codificador de banda media 504 puede generar el flujo de bits de banda media 166 basándose en el canal de banda media en el dominio de la frecuencia 530. Por ejemplo, el codificador de banda media 504 puede codificar el canal de banda media en el dominio de la frecuencia 530 para generar el flujo de bits de banda media 166.
[0074] Haciendo referencia a la FIG. 6, se muestra una cuarta implementación 109d del codificador estéreo 109 flexible adaptable a la señal. La cuarta implementación 109d del codificador estéreo "flexible" adaptable a la señal 109 puede funcionar de una manera sustancialmente similar a la tercera implementación 109c del codificador estéreo "flexible" adaptable a la señal 109. Sin embargo, en la cuarta implementación 109d, el flujo de bits de banda media 166 puede proporcionarse a un codificador de banda lateral 602. En una implementación alternativa, el canal de banda media cuantificado basado en el flujo de bits de banda media puede proporcionarse al codificador de banda lateral 602. El codificador de banda lateral 602 puede configurarse para generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334 y el flujo de bits de banda media 166.
[0075] Haciendo referencia a la FIG. 7, se muestra una quinta implementación 109e del codificador estéreo "flexible" adaptable a la señal 109. La quinta implementación 109e del codificador estéreo "flexible" adaptable a la señal 109 puede funcionar de una manera sustancialmente similar a la primera implementación 109a del codificador estéreo "flexible" adaptable a la señal 109. Sin embargo, en la quinta implementación 109e, el canal de banda media en el dominio de la frecuencia 338 puede proporcionarse a un codificador de banda media 702. El codificador de banda media 702 puede configurarse para codificar el canal de banda media en el dominio de la frecuencia 338 para generar el flujo de bits de banda media 166.
[0076] Haciendo referencia a la FIG. 8, se muestra un ejemplo ilustrativo del preprocesador de señal 202. El preprocesador de señal 202 puede incluir un desmultiplexor (DeMUX) 802 acoplado a un estimador de factor de remuestreo 830, un desestimador 804, un desestimador 834, o una combinación de los mismos. El desestimador 804 se puede acoplar, a través de un remuestreador 806, a un desestimador 808. El desestimador 808 se puede acoplar, a través de un remuestreador 810, a un equilibrador de inclinación 812. El desestimador 834 se puede acoplar, a través de un remuestreador 836, a un desestimador 838. El desestimador 838 se puede acoplar, a través de un remuestreador 840, a un equilibrador de inclinación 842.
[0077] Durante el funcionamiento, el deMUX 802 puede generar la primera señal de audio 130 y la segunda señal de audio 132 desmultiplexando la señal de audio 228. El deMUX 802 puede proporcionar una primera tasa de muestreo 860 asociada con la primera señal de audio 130, la segunda señal de audio 132, o ambas, al estimador de factor de remuestreo 830. El deMUX 802 puede proporcionar la primera señal de audio 130 al desestimador 804, la segunda señal de audio 132 al desestimador 834, o ambos.
[0078] El estimador de factor de remuestreo 830 puede generar un primer factor 862 (d1), un segundo factor 882 (d2), o ambos, basándose en la primera frecuencia de muestreo 860, una segunda frecuencia de muestreo 880, o ambas. El estimador de factor de remuestreo 830 puede determinar un factor de remuestreo (D) basándose en la primera tasa de muestreo 860, la segunda tasa de muestreo 880, o a ambas. Por ejemplo, el factor de remuestreo (D) puede corresponder a una relación de la primera tasa de muestreo 860 y la segunda tasa de muestreo 880 (por ejemplo, el factor de remuestreo (D) = la segunda tasa de muestreo 880/la primera tasa de muestreo 860 o el factor de remuestreo (D) = la primera tasa de muestreo 860/la segunda tasa de muestreo 880). El primer factor 862 (d1), el segundo factor 882 (d2), o ambos, pueden ser factores del factor de remuestreo (D). Por ejemplo, el factor de remuestreo (D) puede corresponder a un producto del primer factor 862 (d1) y el segundo factor 882 (d2) (por ejemplo, el factor de remuestreo (D) = el primer factor 862 (d1) * el segundo factor 882 (d2)). En algunas implementaciones, el primer factor 862 (d1) puede tener un primer valor (por ejemplo, 1), el segundo factor 882 (d2) puede tener un segundo valor (por ejemplo, 1), o ambos, que omiten las fases de remuestreo, como se describe en el presente documento.
[0079] El desestimador 804 puede generar una señal desestimada 864 filtrando la primera señal de audio 130 basándose en un filtro IIR (por ejemplo, un filtro IIR de primer orden). El desestimador 804 puede proporcionar la segunda desestimada 864 al remuestreador 806. El remuestreador 806 puede generar un canal remuestreado 866 remuestreando la señal desestimada 864 basándose en el primer factor 862 (d1). El remuestreador 806 puede proporcionar el canal remuestreado 866 al desestimador 808. El desestimador 808 puede generar una señal desestimada 868 filtrando el canal remuestreado 866 basándose en un filtro IIR. El desestimador 808 puede proporcionar la segunda desestimada 868 al remuestreador 810. El remuestreador 810 puede generar un canal remuestreado 870 remuestreando la señal desestimada 868 basándose en el segundo factor 882 (d2).
[0080] En algunas implementaciones, el primer factor 862 (d1) puede tener un primer valor (por ejemplo, 1), el segundo factor 882 (d2) puede tener un segundo valor (por ejemplo, 1), o ambos, que omiten las etapas de remuestreo. Por ejemplo, cuando el primer factor 862 (d1) tiene el primer valor (por ejemplo, 1), el canal remuestreado 866 puede ser el mismo que la señal desestimada 864. Como otro ejemplo, cuando el segundo factor 882 (d2) tiene el segundo valor (por ejemplo, 1), el canal remuestreado 870 puede ser el mismo que la señal desestimada 868. El remuestreador 810 puede proporcionar el canal remuestreado 870 al equilibrador de inclinación 812. El equilibrador de inclinación 812 puede generar el primer canal remuestreado 230 realizando un equilibrio de inclinación en el canal remuestreado 870.
[0081] El desestimador 834 puede generar una señal desestimada 884 filtrando la segunda señal de audio 132 basándose en un filtro IIR (por ejemplo, un filtro IIR de primer orden). El desestimador 834 puede proporcionar la segunda desestimada 884 al remuestreador 836. El remuestreador 836 puede generar un canal remuestreado 886 remuestreando la señal desestimada 884 basándose en el primer factor 862 (d1). El remuestreador 836 puede proporcionar el canal remuestreado 886 al desestimador 838. El desestimador 838 puede generar una señal desestimada 888 filtrando el canal remuestreado 886 basándose en un filtro IIR. El desestimador 838 puede proporcionar la segunda desestimada 888 al remuestreador 840. El remuestreador 840 puede generar un canal remuestreado 890 remuestreando la señal desestimada 888 basándose en el segundo factor 882 (d2).
[0082] En algunas implementaciones, el primer factor 862 (d1) puede tener un primer valor (por ejemplo, 1), el segundo factor 882 (d2) puede tener un segundo valor (por ejemplo, 1), o ambos, que omiten las etapas de remuestreo. Por ejemplo, cuando el primer factor 862 (d1) tiene el primer valor (por ejemplo, 1), el canal remuestreado 886 puede ser el mismo que la señal desestimada 884. Como otro ejemplo, cuando el segundo factor 882 (d2) tiene el segundo valor (por ejemplo, 1), el canal remuestreado 890 puede ser el mismo que la señal desestimada 888. El remuestreador 840 puede proporcionar el canal remuestreado 890 al equilibrador de inclinación 842. El equilibrador de inclinación 842 puede generar el segundo canal remuestreado 532 realizando un equilibrio de inclinación en el canal remuestreado 890. En algunas implementaciones, el balanceador de inclinación 812 y el balanceador de inclinación 842 pueden compensar un efecto de paso bajo (LP) debido al desestimador 804 y al desestimador 834, respectivamente.
[0083] Con referencia a la FIG. 9, se muestra un ejemplo ilustrativo del estimador de desplazamiento 204. El estimador de desplazamiento 204 puede incluir un comparador de señales 906, el interpolador 910, el refinador de desplazamiento 911, un analizador de cambio de desplazamiento 912, un generador de desplazamiento absoluto 913, o una combinación de los mismos. Debe entenderse que el estimador de desplazamiento 204 puede incluir menos o más de los componentes ilustrados en la FIG. 9.
[0084] El comparador de señales 906 puede generar los valores de comparación 934 (por ejemplo, diferentes valores, valores de similitud, valores de coherencia, o valores de correlación cruzada), un valor de desplazamiento provisional 936, o ambos. Por ejemplo, el comparador de señales 906 puede generar los valores de comparación 934 basados en el primer canal remuestreado 230 y una pluralidad de valores de desplazamiento aplicados al segundo canal remuestreado 232. El comparador de señales 906 puede determinar el valor de desplazamiento provisional 936 basándose en los valores de comparación 934. El primer canal remuestreado 230 puede incluir menos muestras o más muestras que la primera señal de audio 130. El segundo canal remuestreado 232 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 934 basándose en la menor cantidad de muestras de los canales remuestreados (por ejemplo, el primer canal remuestreado 230 y el segundo canal remuestreado 232) 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 934 basándose en la mayor cantidad de muestras de los canales remuestreados (por ejemplo, el primer canal remuestreado 230 y el segundo canal remuestreado 232) 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 906 puede proporcionar los valores de comparación 934, el valor de desplazamiento provisional 936, o ambos, al interpolador 910.
[0085] El interpolador 910 puede extender el valor de desplazamiento provisional 936. Por ejemplo, el interpolador 910 puede generar un valor de desplazamiento interpolado 938. Por ejemplo, el interpolador 910 puede generar valores de comparación interpolados correspondientes a valores de desplazamiento que están próximos al valor de desplazamiento provisional 936 interpolando los valores de comparación 934. El interpolador 910 puede determinar el valor de desplazamiento interpolado 938 basándose en los valores de comparación interpolados y los valores de comparación 934. Los valores de comparación 934 pueden basarse en una granularidad más gruesa de los valores de desplazamiento. Por ejemplo, los valores de comparación 934 pueden basarse en un primer subconjunto de un conjunto de valores de desplazamiento de modo que una diferencia entre un primer valor de desplazamiento del primer subconjunto y cada segundo valor de desplazamiento del primer subconjunto sea mayor o igual a un umbral (por ejemplo, > 1). El umbral puede basarse en el factor de remuestreo (D).
[0086] Los valores de comparación interpolados pueden basarse en una granularidad más fina de los valores de desplazamiento que se aproximan al valor de desplazamiento provisional remuestreado 936. Por ejemplo, los valores de comparación interpolados pueden basarse en un segundo subconjunto del conjunto de valores de desplazamiento de modo que la diferencia entre un valor de desplazamiento más alto del segundo subconjunto y el valor de desplazamiento provisional remuestreado 936 sea menor que el umbral (por ejemplo, >1), y una diferencia entre el valor de desplazamiento más bajo del segundo subconjunto y el valor de desplazamiento provisional remuestreado 936 sea menor que el umbral. La determinación de los valores de comparación 934 basándose en la granularidad más gruesa (por ejemplo, el primer subconjunto) del conjunto de valores de desplazamiento puede usar menos recursos (por ejemplo, tiempo, operaciones o ambos) que la determinación de los valores de comparación 934 basándose en una granularidad más fina (por ejemplo, todos) del conjunto de valores de desplazamiento. La determinación de los valores de comparación interpolados correspondientes al segundo subconjunto de valores de desplazamiento puede extender el valor de desplazamiento provisional 936 basándose en una granularidad más fina de un conjunto más
pequeño de valores de desplazamiento que se aproximan al valor de desplazamiento provisional 936 sin determinar los valores de comparación correspondientes a cada valor de desplazamiento del conjunto de valores de desplazamiento. Por tanto, determinar el valor de desplazamiento provisional 936 basándose en el primer subconjunto de valores de desplazamiento y determinar el valor de desplazamiento interpolado 938 basándose en los valores de comparación interpolados puede equilibrar el uso de recursos y el refinamiento del valor de desplazamiento estimado. El interpolador 910 puede proporcionar el valor de desplazamiento interpolado 938 al refinador de desplazamiento 911.
[0087] El refinador de desplazamiento 911 puede determinar el valor de desplazamiento modificado 940 refinando el valor de desplazamiento interpolado 938. Por ejemplo, el refinador de desplazamiento 911 puede determinar si el valor de desplazamiento interpolado 938 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 desplazamiento interpolado 938 y un primer valor de desplazamiento asociado con una trama anterior. El refinador de desplazamiento 911 puede, en respuesta a la determinación de que la diferencia es menor o igual al umbral, establecer el valor de desplazamiento modificado 940 en el valor de desplazamiento interpolado 938. De forma alternativa, el refinador de desplazamiento 911 puede, en respuesta a la determinación de que la diferencia es mayor que el umbral, determinar una pluralidad de valores de desplazamiento que corresponden a una diferencia que es menor o igual al umbral de cambio de desplazamiento. El refinador de desplazamiento 911 puede determinar valores de comparación basándose en la primera señal de audio 130 y la pluralidad de valores de desplazamiento aplicados a la segunda señal de audio 132. El refinador de desplazamiento 911 puede determinar el valor de desplazamiento modificado 940 basándose en los valores de comparación. Por ejemplo, el refinador de desplazamiento 911 puede seleccionar un valor de desplazamiento de la pluralidad de valores de desplazamiento basándose en los valores de comparación y el valor de desplazamiento interpolado 938. El refinador de desplazamiento 911 puede establecer el valor de desplazamiento modificado 940 para indicar el valor de desplazamiento seleccionado. Una diferencia distinta de cero entre el primer valor de desplazamiento correspondiente a la trama anterior y el valor de desplazamiento interpolado 938 puede indicar que algunas muestras de la segunda señal de audio 132 corresponden a ambas tramas. 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 anterior ni a la trama actual. Por ejemplo, algunas muestras de la segunda señal de audio 132 pueden perderse durante la codificación. Establecer el valor de desplazamiento modificado 940 en uno de la pluralidad de valores de desplazamiento 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 911 puede proporcionar el valor de desplazamiento modificado 940 al analizador de cambio de desplazamiento 912.
[0088] En algunas implementaciones, el refinador de desplazamiento 911 puede ajustar el valor de desplazamiento interpolado 938. El refinador de desplazamiento 911 puede determinar el valor de desplazamiento modificado 940 basándose en el valor de desplazamiento interpolado ajustado 938. En algunas implementaciones, el refinador de desplazamiento 911 puede determinar el valor de desplazamiento modificado 940.
[0089] El analizador de cambio de desplazamiento 912 puede determinar si el valor de desplazamiento modificado 940 indica una conmutación 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 una conmutación en la temporización pueden indicar que, para la trama anterior, 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, 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 una conmutación en la temporización pueden indicar que, para la trama anterior, 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, 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, una conmutación o retroceso en la temporización puede indicar que un valor de desplazamiento final correspondiente a la trama tiene un primer signo que es distinto de un segundo signo del valor de desplazamiento modificado 940 correspondiente a la trama actual (por ejemplo, una transición positiva a negativa o viceversa). El analizador de cambio de desplazamiento 912 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 desplazamiento modificado 940 y el primer valor de desplazamiento asociado con la trama anterior. El analizador de cambio de desplazamiento 912 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 desplazamiento 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 912 puede establecer el valor de desplazamiento final 116 en el valor de desplazamiento modificado 940 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. El analizador de cambio de desplazamiento 912 puede generar un valor de cambio estimado refinando el valor de cambio modificado 940. El analizador de cambio de desplazamiento 912 puede establecer el valor de desplazamiento final 116 en el valor de desplazamiento estimado. Establecer el valor de desplazamiento 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 generador de desplazamiento absoluto 913 puede generar el valor de desplazamiento no causal 162 aplicando una función absoluta al valor de desplazamiento final 116.
[0090] Haciendo referencia a la FIG. 10, se muestra un procedimiento 1000 de comunicación. El procedimiento 1000 puede ser realizado por el primer dispositivo 104 de la FIG. 1, el codificador 114 de las FIGS. 1-2, el codificador estéreo "flexible" adaptable a la señal 109 de las FIGS. 1-7, el preprocesador de señales 202 de las FIGS. 2 y 8, el estimador de desplazamiento 204 de las FIGS. 2 y 9, o una combinación de los mismos.
[0091] El procedimiento 1000 incluye determinar, en un primer dispositivo, un valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de referencia y un canal objetivo, en 1002. Por ejemplo, refiriéndose a la FIG. 2, el ecualizador temporal 108 puede determinar el valor de desajuste (por ejemplo, el valor de desplazamiento final 116) indicativo de la cantidad de desajuste temporal entre la primera señal de audio 130 y la segunda señal de audio 132. Un primer valor (por ejemplo, un valor positivo) del valor de desplazamiento 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 desplazamiento 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 desplazamiento final 116 puede indicar que no hay retardo entre la primera señal de audio 130 y la segunda señal de audio 132.
[0092] El procedimiento 1000 incluye la determinación de si se debe realizar una primera operación de desplazamiento temporal en el canal objetivo, al menos, basado en el valor de desajuste y un modo de codificación para generar un canal objetivo ajustado, en 1004. Por ejemplo, refiriéndose a la FIG. 2, el ajustador del canal objetivo 210 puede determinar si ajustar el canal 242 objetivo y puede ajustar el canal 242 objetivo basándose en una evolución de desplazamiento temporal desde el primer valor de cambio 262 (Tprev) hasta el valor de desplazamiento final 116 (T). Por ejemplo, el primer valor de desplazamiento 262 puede incluir un valor de desplazamiento final correspondiente a la trama anterior. El ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final cambió desde el primer valor de desplazamiento 262 que tiene un primer valor (por ejemplo, Tprev = 2) correspondiente a la trama que es menor que el valor de desplazamiento final 116 (por ejemplo, T = 4) correspondiente a la trama anterior, interpolar el canal objetivo 242 de modo que un subconjunto de muestras del canal objetivo 242 que corresponden a los límites de trama se eliminan mediante suavizado y desplazamiento lento para generar el canal objetivo ajustado 192. De forma alternativa, el ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final cambiado desde el primer valor de desplazamiento 262 (por ejemplo, Tprev = 4) que es mayor que el valor de desplazamiento final 116 (por ejemplo, T = 2), interpolar el canal objetivo 242 de modo que un subconjunto de muestras del canal objetivo 242 que corresponden a los límites de trama se repiten mediante suavizado y desplazamiento lento para generar el canal objetivo ajustado 192. El suavizado y el desplazamiento lento pueden realizarse basándose en interpoladores híbridos Sinc y Lagrange. El ajustador de canal objetivo 210 puede, en respuesta a la determinación de que un valor de desplazamiento final no cambia desde el primer valor de desplazamiento 262 al valor de desplazamiento final 116 (por ejemplo, Tprev = T), desviar temporalmente el canal objetivo 242 para generar el canal objetivo ajustado 192.
[0093] Se puede realizar una primera operación de transformada en el canal de referencia para generar un canal de referencia en el dominio de la frecuencia, en 1006. Se puede realizar una segunda operación de transformada en el canal objetivo ajustado para generar un canal objetivo ajustado en el dominio de la frecuencia, en 1008. Por ejemplo, haciendo referencia a las FIGS. 3-7, la transformada 302 se puede realizar en el canal de referencia 190 y la transformada 304 se puede realizar en el canal objetivo ajustado 192. Las transformadas 302, 304 pueden incluir operaciones de transformada en el dominio de la frecuencia. Como ejemplos no limitantes, las transformadas 302, 304 pueden incluir operaciones DFT, operaciones FFT, etc. De acuerdo con algunas implementaciones, las operaciones QMF (por ejemplo, usando bancos de filtros de retardo bajo complejos) pueden usarse para dividir las señales de entrada (por ejemplo, el canal de referencia 190 y el canal objetivo ajustado 192) en múltiples subbandas, y en algunas implementaciones, las subbandas pueden convertirse además en el dominio de la frecuencia usando otra operación de transformada en el dominio de la frecuencia. La transformada 302 se puede aplicar al canal de referencia 190 para generar un canal de referencia en el dominio de la frecuencia Lfr(b) 330, y la transformada 304 se puede aplicar al canal objetivo ajustado 192 para generar una canal objetivo ajustado en el dominio de la frecuencia Rfr(b) 332.
[0094] Uno o más estéreo señales pueden estimarse basándose en el canal de referencia en el dominio de la frecuencia y el canal objetivo ajustado en el dominio de la frecuencia, en 1010. Por ejemplo, en referencia a las FIGS.
3-7, el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332 pueden proporcionarse a un estimador de indicaciones de estéreo 306 y a un generador de canal de banda lateral 308. El estimador de indicaciones de estéreo 306 puede extraer (por ejemplo, generar) las indicaciones de estéreo 162 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332. Para ilustrar, IID(b) puede ser una función de las energías Ei_(b) de los canales izquierdos en la banda (b) y las energías ER(b) de los canales derechos en la banda (b). Por ejemplo, IID(b) puede expresarse como 20*log10(Ei_(b)/ER(b)). Los IPD estimados y transmitidos en el codificador pueden proporcionar una estimación de la diferencia de fase en el dominio de la frecuencia entre los canales izquierdo y derecho en la banda (b). Las indicaciones de estéreo 162 pueden incluir parámetros adicionales (o alternativos), como ICC, ITD, etc.
[0095] La una o más indicaciones de estéreo pueden enviarse a un segundo dispositivo, en 1012. Por ejemplo, refiriéndose a la FIG. 1, el primer dispositivo 104 puede transmitir las indicaciones de estéreo 162 al segundo dispositivo 106 de la FIG. 1.
[0096] El procedimiento 1000 también puede incluir la generación de un canal de banda media en el dominio del tiempo basado en el canal de referencia y el canal objetivo ajustado. Por ejemplo, haciendo referencia a las FIGS. 3, 4 y 7, el generador de canales de banda media 312 puede generar el canal de banda media en el dominio del tiempo 336 basándose en el canal de referencia 190 y el canal objetivo ajustado 192. Por ejemplo, el canal de banda media en el dominio del tiempo 336 puede expresarse como (1 (t)+r(t))/2, donde 1(t) incluye el canal de referencia 190 y r(t) incluye el canal objetivo ajustado 192. El procedimiento 1000 también puede incluir codificar el canal de banda media en el dominio del tiempo para generar un flujo de bits de banda media. Por ejemplo, haciendo referencia a las FIGS.
3 y 4, el codificador de banda media 316 puede generar el flujo de bits de banda media 166 codificando el canal de banda media en el dominio del tiempo 336. El procedimiento 1000 puede incluir además el envío del flujo de bits de banda media al segundo dispositivo. Por ejemplo, refiriéndose a la FIG. 1, el transmisor 110 puede enviar el flujo de bits de banda media 166 al segundo dispositivo 106.
[0097] El procedimiento 1000 también puede incluir la generación de un canal de banda lateral basándose en el canal de referencia en el dominio de la frecuencia, el canal objetivo ajustado dominio de la frecuencia, y la una o más indicaciones de estéreo. Por ejemplo, refiriéndose a la FIG. 3, el generador de banda lateral 308 puede generar el canal de banda lateral en el dominio de la frecuencia 334 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332. El canal de banda lateral en el dominio de la frecuencia 334 puede estimarse en los bins/bandas en el dominio de la frecuencia. En cada banda, el parámetro de ganancia (g) es diferente y puede basarse en las diferencias de nivel intercanal (por ejemplo, basándose en las indicaciones de estéreo 162). Por ejemplo, el canal de banda lateral en el dominio de la frecuencia 334 puede expresarse como (Lfr(b)-c(b)*Rfr(b))/(1+c(b)), donde c(b) puede ser ILD(b) o una función de la ILD(b) (por ejemplo, c(b) = 10A(ILD(b)/20)).
[0098] El procedimiento 1000 también puede incluir la realización de una tercera operación de transformada en el canal de banda media en el dominio del tiempo para generar un canal de banda media en el dominio de la frecuencia. Por ejemplo, refiriéndose a la FIG. 3, la transformada 314 puede aplicarse al canal de banda media 336 en el dominio del tiempo para generar el canal de banda media en el dominio de la frecuencia 338. El procedimiento 1000 también puede incluir generar un flujo de bits de banda lateral basado en el canal de banda lateral, el canal de banda media en el dominio de la frecuencia y una o más indicaciones de estéreo. Por ejemplo, refiriéndose a la FIG. 3, el codificador de banda lateral 310 puede generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334 y el canal de banda media en el dominio de la frecuencia 338.
[0099] El procedimiento 1000 también puede incluir la generación de un canal de banda media en el dominio de la frecuencia basándose en el canal en el canal de referencia en el dominio de la frecuencia y el canal objetivo ajustado en el dominio de la frecuencia y de forma adicional o alternativa, basándose en las indicaciones de estéreo. Por ejemplo, haciendo referencia a las FIGS. 5-6, el generador de canal de banda media 502 puede generar el canal de banda media en el dominio de la frecuencia 530 basado en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332 y de forma adicional o alternativa basándose en las indicaciones de estéreo 162. El procedimiento 1000 también puede incluir codificar el canal de banda media en el dominio de la frecuencia para generar un flujo de bits de banda media. Por ejemplo, refiriéndose a la FIG. 5, el codificador de banda media 504 puede codificar el canal 530 de banda media en el dominio de la frecuencia para generar el flujo de bits de banda media 166.
[0100] El procedimiento 1000 también puede incluir la generación de un canal de banda lateral basándose en el canal de referencia en el dominio de la frecuencia, el canal objetivo ajustado dominio de la frecuencia, y la una o más indicaciones de estéreo. Por ejemplo, haciendo referencia a las FIGS. 5-6, el generador de banda lateral 308 puede generar el canal de banda lateral en el dominio de la frecuencia 334 basándose en el canal de referencia en el dominio de la frecuencia 330 y el canal objetivo ajustado en el dominio de la frecuencia 332. De acuerdo con una implementación, el procedimiento 1000 incluye generar un flujo de bits de banda lateral basado en el canal de banda lateral, el flujo de bits de banda media y una o más indicaciones de estéreo. Por ejemplo, refiriéndose a la FIG. 6, el flujo de bits 166 de banda media puede proporcionarse al codificador de banda lateral 602. El codificador de banda lateral 602 puede configurarse para generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334 y el flujo de bits de banda media 166. De acuerdo con otra implementación, el procedimiento 1000 incluye generar un flujo de bits de banda lateral basado en el canal de banda lateral, el canal de banda media en el dominio de la frecuencia y una o más indicaciones de estéreo. Por ejemplo, refiriéndose a la FIG. 5, el codificador de banda lateral 506 puede generar el flujo de bits de banda lateral 164 basándose en las indicaciones de estéreo 162, el canal de banda lateral en el dominio de la frecuencia 334 y el canal de banda media en el dominio de la frecuencia 530.
[0101] De acuerdo con una implementación, el procedimiento 1000 también puede incluir la generación de un primer canal de muestreo descendente muestreando de forma descendente el canal de referencia y generando un segundo
canal de muestreo descendente muestreando de forma descendente el canal objetivo. El procedimiento 1000 también puede incluir la determinación de valores de comparación basados en el primer canal de muestreo descendente y una pluralidad de valores de desplazamiento aplicados al segundo canal de muestreo descendente. El valor de cambio puede basarse en los valores de comparación.
[0102] El procedimiento 1000 de la FIG. 10 puede permitir que el codificador estéreo "flexible" adaptable a la señal 109 transforme el canal de referencia 190 y el canal objetivo ajustado 192 en el dominio de la frecuencia para generar las indicaciones de estéreo 162, el flujo de bits de banda lateral 164 y el flujo de bits de banda media 166. Las técnicas de desplazamiento temporal del ecualizador temporal 108 que desplazan temporalmente la primera señal de audio 130 para alinearse con la segunda señal de audio 132 pueden implementarse junto con el procesamiento de la señal en el dominio de la frecuencia. Para ilustrar, el ecualizador temporal 108 estima un cambio (por ejemplo, un valor de desplazamiento no casual) para cada trama en el codificador 114, desplaza (por ejemplo, ajusta) un canal objetivo de acuerdo con el valor de desplazamiento no casual, y usa los canales ajustados de desplazamiento para la estimación de indicaciones de estéreo en el dominio de transformada.
[0103] Con referencia a la FIG. 11, se muestra un diagrama que ilustra una implementación particular del descodificador 118. Se proporciona una señal de audio codificada a un desmultiplexor (DEMUX) 1102 del descodificador 118. La señal de audio codificada puede incluir las indicaciones de estéreo 162, el flujo de bits de banda lateral 164 y el flujo de bits de banda media 166. El desmultiplexor 1102 puede configurarse para extraer el flujo de bits de banda media 166 de la señal de audio codificada y proporcionar el flujo de bits de banda media 166 a un descodificador de banda media 1104. El desmultiplexor 1102 también puede configurarse para extraer el flujo de bits de banda lateral 164 y las indicaciones de estéreo 162 de la señal de audio codificada. El flujo de bits de banda lateral 164 y las indicaciones de estéreo 162 pueden proporcionarse a un descodificador de banda lateral 1106.
[0104] El descodificador de banda media 1104 puede estar configurado para descodificar el flujo de bits de banda media 166 para generar un canal de banda media (mCODED(t)) 1150. Si el canal 1150 de banda media es una señal en el dominio del tiempo, puede aplicarse una transformada 1108 al canal 1150 de banda media para generar un canal de banda media en el dominio de la frecuencia (MCODED(b)) 1152. El canal de banda media en el dominio de la frecuencia 1152 puede proporcionarse a un mezclador ascendente 1110. Sin embargo, si el canal de banda media 1150 es una señal en el dominio de la frecuencia, el canal de banda media 1150 puede proporcionarse directamente al mezclador 1110 ascendente y la transformada 1108 puede omitirse o no estar presente en el descodificador 118.
[0105] El descodificador de banda lateral 1106 puede generar un canal de banda lateral (SCODED(b)) 1154 basado en el flujo de bits de banda lateral 164 y las indicaciones de estéreo 162. Por ejemplo, el error (e) puede descodificarse para las bandas bajas y las bandas altas. El canal de banda lateral 1154 puede expresarse como SPRED(b) eCODED(b), donde SPRED(b) = MCODED(b)*(ILD(b)-1)/(ILD(b)+1). El canal de banda lateral 1154 también puede proporcionarse al mezclador ascendente 1110.
[0106] El mezclador ascendente 1110 puede realizar una operación de mezcla ascendente basándose en el canal de banda media en el dominio de la frecuencia 1152 y el canal de banda lateral 1154. Por ejemplo, el mezclador ascendente 1110 puede generar una primera señal de mezcla ascendente (Lfr) 1156 y una segunda señal de mezcla ascendente (Rfr) 1158 basándose en el canal de banda media 1152 y el canal de banda lateral en el dominio de la frecuencia 1154. Así, en el ejemplo descrito, la primera señal de mezcla ascendente 1156 puede ser una señal del canal izquierdo, y la segunda señal de mezcla ascendente 1158 puede ser una señal del canal derecho. La primera señal de mezcla ascendente 1156 puede expresarse como MCODED(b)+SCODED(b), y la segunda señal de mezcla ascendente 1158 puede expresarse como MCODED(b)-SCODED(b). Las señales de mezcla ascendente 1156, 1158 pueden proporcionarse a un procesador de indicación de estéreo 1112.
[0107] El procesador de indicación de estéreo 1112 puede aplicar las indicaciones de estéreo 162 a las señales de mezcla ascendente 1156, 1158 para generar señales 1160, 1162. Por ejemplo, las indicaciones de estéreo 162 pueden aplicarse a los canales de mezcla ascendente izquierdo y derecho en el dominio de la frecuencia. Cuando esté disponible, el IPD (diferencias de fase) puede propagarse en los canales izquierdo y derecho para mantener las diferencias de fase intercanal. Se puede aplicar una transformada inversa 1114 a la señal 1160 para generar una primera señal en el dominio del tiempo 1(t) 1164 y se puede aplicar una transformada inversa 1116 a la señal 1162 para generar una segunda señal en el dominio del tiempo r(t) 1166. Los ejemplos no limitantes de las transformadas inversas 1114, 1116 incluyen operaciones de transformada inversa discreta del coseno (IDCT), operaciones de transformada inversa rápida de Fourier (IFFT), etc. De acuerdo con una implementación, la primera señal en el dominio del tiempo 1164 puede ser una versión reconstruida del canal de referencia 190, y la segunda señal en el dominio del tiempo 1166 puede ser una versión reconstruida del canal objetivo ajustado 192.
[0108] De acuerdo con una implementación, las operaciones realizadas en el mezclador ascendente 1110 pueden realizarse en el procesador de indicación de estéreo 1112. De acuerdo con otra implementación, las operaciones realizadas en el procesador de indicación de estéreo 1112 se pueden realizar en el mezclador ascendente 1110. De acuerdo con otra implementación más, el mezclador ascendente 1110 y el procesador de indicación de estéreo 1112 pueden implementarse dentro de un único elemento de procesamiento (por ejemplo, un único procesador).
[0109] Además, la primera señal en el dominio del tiempo 1164 y la segunda señal en el dominio del tiempo 1166 se pueden proporcionar a un mezclador ascendente en el dominio del tiempo 1120. El mezclador ascendente en el dominio del tiempo 1120 puede realizar una mezcla ascendente en el dominio del tiempo en las señales en el dominio del tiempo 1164, 1166 (por ejemplo, las señales izquierda y derecha de transformada inversa). El mezclador ascendente en el dominio del tiempo 1120 puede realizar un ajuste de desplazamiento inverso para deshacer el ajuste de desplazamiento realizado en el ecualizador temporal 108 (más específicamente el ajustador de canal objetivo 210). La mezcla ascendente en el dominio del tiempo puede basarse en los parámetros de mezcla descendente en el dominio del tiempo 168. Por ejemplo, la mezcla ascendente en el dominio del tiempo puede basarse en el primer valor de desplazamiento 262 y el indicador de canal de referencia 264. Además, el mezclador ascendente en el dominio del tiempo 1120 puede realizar operaciones inversas de otras operaciones realizadas en un módulo de mezcla descendente en el dominio del tiempo que puede estar presente.
[0110] Con referencia a la FIG. 12, 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 1200. En diversos modos de realización, el dispositivo 1200 puede tener menos o más componentes de los que se ilustran en la FIG. 12. En un modo de realización ilustrativo, el dispositivo 1200 puede corresponder al primer dispositivo 104 o al segundo dispositivo 106 de la FIG. 1. En un modo de realización ilustrativo, el dispositivo 1200 puede realizar una o más operaciones descritas con referencia a sistemas y procedimientos de las FIGS. 1-11.
[0111] En un modo de realización particular, el dispositivo 1200 incluye un procesador 1206 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 1200 puede incluir uno o más procesadores 1210 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). El procesador 1210 puede incluir un codificadordescodificador (por ejemplo, voz y música) de medios (CÓDEC) 1208 y un cancelador de eco 1212. El CÓDEC de medios 1208 puede incluir el descodificador 118, el codificador 114, o ambos, de la FIG. 1. El codificador 114 puede incluir el ecualizador temporal 108.
[0112] El dispositivo 1200 puede incluir una memoria 153 y un CÓDEC 1234. Aunque el CÓDEC de medios 1208 se ilustra como un componente de los procesadores 1210 (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 1208, tal como el descodificador 118, el codificador 114, o ambos, se pueden incluir en el procesador 1206, el CÓDEC 1234, otro componente de procesamiento, o una combinación de los mismos.
[0113] El dispositivo 1200 puede incluir el transmisor 110 acoplado a una antena 1242. El dispositivo 1200 puede incluir una pantalla 1228 acoplada a un controlador de pantalla 1226. Uno o más altavoces 1248 pueden estar acoplados al CÓDEC 1234. Se pueden acoplar uno o más micrófonos 1246, a través de la interfaz o interfaces de entrada 112, al CÓDEC 1234. En una implementación particular, los altavoces 1248 pueden incluir el primer altavoz 142, el segundo altavoz 144 de la FIG. 1 o una combinación de los mismos. En una implementación particular, los micrófonos 1246 pueden incluir el primer micrófono 146, el segundo micrófono 148 de la FIG. 1 o una combinación de los mismos. El CÓDEC 1234 puede incluir un convertidor digital-analógico (DAC) 1202 y un convertidor analógicodigital (ADC) 1204.
[0114] La memoria 153 puede incluir instrucciones 1260 ejecutables por el procesador 1206, los procesadores 1210, el CÓDEC 1234, otra unidad de procesamiento del dispositivo 1200, o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a las FIGS. 1-11. La memoria 153 puede almacenar los datos de análisis 191.
[0115] Uno o más componentes del dispositivo 1200 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 1206, los procesadores 1210 y/o el CÓDEC 1234 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 1260) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC 1234, el procesador 1206 y/o los procesadores 1210), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1-11. Como un ejemplo, la memoria 153 o los uno o más componentes del procesador 1206, los procesadores 1210, y/o el CÓDEC 1234 pueden ser un medio legible por ordenador no transitorio que incluye instrucciones (por ejemplo, las instrucciones 1260) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC 1234, el procesador 1206 y/o los procesadores 1210), hacen que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1-11.
[0116] En un modo de realización particular, el dispositivo 1200 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)) 1222. En un modo de realización particular, el procesador 1206, los procesadores 1210, el controlador de visualización 1226, la memoria 153, el CÓDEC
1234 y el transmisor 110 se incluyen en un dispositivo de sistema en paquete o sistema en chip 1222. En un modo de realización particular, un dispositivo de entrada 1230, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 1244 están acoplados al dispositivo de sistema en chip 1222. Además, en un modo de realización particular, como se ilustra en la FIG. 12, la pantalla 1228, el dispositivo de entrada 1230, los altavoces 1248, el micrófono 1246, la antena 1242 y la fuente de alimentación 1244 son externos al dispositivo de sistema en chip 1222. Sin embargo, cada uno de la pantalla 1228, el dispositivo de entrada 1230, los altavoces 1248, los micrófonos 1246, la antena 1242 y la fuente de alimentación 1244 se pueden acoplar a un componente del dispositivo de sistema en chip 1222, tal como una interfaz o un controlador.
[0117] El dispositivo 1200 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.
[0118] En una implementación particular, uno o más componentes de los sistemas y dispositivos divulgados en el presente documento 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 divulgados en el presente documento 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.
[0119] Debe observarse que diversas funciones realizadas por uno o más componentes de los sistemas y dispositivos divulgados en el presente documento se describen como realizadas 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 pueden integrarse en un único componente o módulo. Cada componente o módulo 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.
[0120] En conjunción con las implementaciones descritas, un aparato incluye medios para determinar un valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de referencia y un canal de objetivo. Por ejemplo, entre los medios de determinación puede incluirse el ecualizador temporal 108, el codificador 114, el primer dispositivo 104 de la FIG. 1, el CÓDEC de medios 1208, los procesadores 1210, el dispositivo 1200, uno o más dispositivos configurados para determinar el valor de desajuste (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.
[0121] El aparato puede incluir también medios para realizar una operación de desplazamiento temporal en el canal objetivo basado en el valor de desajuste para generar un canal objetivo ajustado. Por ejemplo, entre los medios de realización de la operación de desplazamiento temporal puede incluirse el ecualizador temporal 108, el codificador 114 de la FIG. 1, el ajustador de canal objetivo 210 de la FIG. 2, el CÓDEC de medios 1208, los procesadores 1210, el dispositivo 1200, uno o más dispositivos configurados para realizar una operación de desplazamiento 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.
[0122] El aparato puede incluir también medios para realizar una operación de primera operación de transformada en el canal de referencia para generar un canal de referencia en el dominio de la frecuencia. Por ejemplo, entre los medios de realización de la primera operación de transformada se pueden incluir el codificador estéreo "flexible" adaptable a la señal 109, el codificador 114 de la FIG. 1, la transformada 302 de la FIGS. 3-7, el CÓDEC de medios 1208, los procesadores 1210, el dispositivo 1200, uno o más dispositivos configurados para realizar una operación de transformada (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.
[0123] El aparato puede incluir también medios para realizar una segunda operación de transformada en el canal objetivo ajustado para generar un canal objetivo ajustado en el dominio de la frecuencia. Por ejemplo, entre los medios para realizar la segunda operación de transformada se pueden incluir el codificador estéreo "flexible" adaptable a la señal 109, el codificador 114 de la FIG. 1, la transformada 304 de la FIGS. 3-7, el CÓDEC de medios 1208, los procesadores 1210, el dispositivo 1200, uno o más dispositivos configurados para realizar una operación de transformada (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.
[0124] El aparato también puede incluir también medios para estimar uno o más indicaciones de estéreo basadas en el canal de referencia en el dominio de la frecuencia y el canal objetivo ajustado en el dominio de la frecuencia. Por ejemplo, entre los medios de estimación se puede incluir el codificador estéreo "flexible" adaptable a la señal 109, el codificador 114 de la FIG, 1, el estimador de indicaciones de estéreo 306 de las FIGS. 3-7, el CÓDEC de medios 1208, los procesadores 1210, el dispositivo 1200, uno o más dispositivos configurados para estimar indicaciones de estéreo (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.
[0125] El aparato puede también incluir medios para el envío de las una o más indicaciones estéreo. Por ejemplo, entre los medios para enviar se puede incluir el transmisor 110 de las FIGS. 1 y 12, la antena 1242 de la FIG. 12, o ambos.
[0126] Con referencia a la FIG. 13, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación base 1300. En diversas implementaciones, la estación base 1300 puede tener más componentes o menos componentes de los ilustrados en la FIG. 13. En un ejemplo ilustrativo, la estación base 1300 puede incluir el primer dispositivo 104 o el segundo dispositivo 106 de la FIG. 1. En un ejemplo ilustrativo, la estación base 1300 puede funcionar de acuerdo con uno o más de los procedimientos o sistemas descritos con referencia a las FIGS. 1-12.
[0127] La estación base 1300 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), CDMA 1X, evolución de datos optimizados (EVDO), CDMA síncrono por división de tiempo (TD-SCDMA) o alguna otra versión de CDMA.
[0128] 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 1200 de la FIG. 12.
[0129] Varias funciones pueden ser realizadas por uno o más componentes de la estación base 1300 (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 1300 incluye un procesador 1306 (por ejemplo, una CPU). La estación base 1300 puede incluir un transcodificador 1310. El transcodificador 1310 puede incluir un CÓDEC de audio 1308. Por ejemplo, el transcodificador 1310 puede incluir uno o más componentes (por ejemplo, circuitos) configurados para realizar operaciones del CÓDEC de audio 1308. Como otro ejemplo, el transcodificador 1310 puede configurarse para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CÓDEC de audio 1308. Aunque se ilustra el CÓDEC de audio 1308 como un componente del transcodificador 1310, en otros ejemplos se pueden incluir uno o más componentes del CÓDEC de audio 1308 en el procesador 1306, otro componente de procesamiento o una combinación de los mismos. Por ejemplo, un descodificador 1338 (por ejemplo, un descodificador de codificador de voz) puede incluirse en un procesador de datos receptor 1364. Como otro ejemplo, se puede incluir un codificador 1336 (por ejemplo, un codificador de codificador de voz) en un procesador de datos de transmisión 1382. El codificador 1336 puede incluir el codificador 114 de la FIG. 1. El descodificador 1338 puede incluir el descodificador 118 de la FIG. 1.
[0130] El transcodificador 1310 puede funcionar para transcodificar mensajes y datos entre dos o más redes. El transcodificador 1310 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 1338 puede descodificar señales codificadas que tienen un primer formato y el codificador 1336 puede codificar las señales descodificadas en señales codificadas que tienen un segundo formato. De forma adicional o alternativa, el transcodificador 1310 puede configurarse para realizar la adaptación de la velocidad de datos. Por ejemplo, el transcodificador 1310 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 1310 puede convertir de forma descendente las señales de 64 kbit/s en señales de 16 kbit/s.
[0131] La estación base 1300 puede incluir una memoria 1332. La memoria 1332, 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 1306, el transcodificador 1310, 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-12. Por ejemplo, entre las operaciones puede incluirse determinar un valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de referencia y un canal objetivo. Entre las operaciones también puede incluirse realizar una operación de desplazamiento temporal en el canal objetivo basándose en el valor de desajuste para
generar un canal objetivo ajustado. Entre las operaciones también puede incluirse realizar una primera operación de transformada en el canal de referencia para generar un canal de referencia en el dominio de la frecuencia y realizar una segunda operación de transformada en el canal objetivo ajustado para generar un canal objetivo ajustado en el dominio de la frecuencia. Entre las operaciones puede incluirse además estimar una o más indicaciones de estéreo basadas en el canal de referencia en el dominio de la frecuencia y el canal objetivo ajustado en el dominio de la frecuencia. Entre las operaciones también puede incluirse iniciar la transmisión de una o más indicaciones de estéreo a un receptor.
[0132] La estación base 1300 puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tales como un primer transceptor 1352 y un segundo transceptor 1354, acoplados a una matriz de antenas. El conjunto de antenas puede incluir una primera antena 1342 y una segunda antena 1344. 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 1200 de la FIG. 12. Por ejemplo, la segunda antena 1344 puede recibir un flujo de datos 1314 (por ejemplo, un flujo de bits) desde un dispositivo inalámbrico. El flujo de datos 1314 puede incluir mensajes, datos (por ejemplo, datos de voz codificados) o una combinación de los mismos.
[0133] La estación base 1300 puede incluir una conexión de red 1360, tal como una conexión de retorno. La conexión de red 1360 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 1300 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 1360. La estación base 1300 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 1360. En una implementación particular, la conexión de red 1360 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.
[0134] La estación base 1300 puede incluir una pasarela de medios 1370 que está acoplada a la conexión de red 1360 y al procesador 1306. La pasarela de medios 1370 puede configurarse para convertir entre flujos de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela de medios 1370 puede convertir entre diferentes protocolos de transmisión, diferentes esquemas de codificación, o ambos. A modo ilustrativo, la pasarela de medios 1370 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 1370 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.).
[0135] Adicionalmente, la pasarela de medios 1370 puede incluir un transcodificador, tal como el transcodificador 610, y puede configurarse para transcodificar datos cuando los códecs son incompatibles. Por ejemplo, la pasarela de medios 1370 puede transcodificar entre un códec adaptable de velocidad múltiple (AMR) y un códec G.711, como un ejemplo ilustrativo, no limitante. La pasarela de medios 1370 puede incluir un enrutador y una pluralidad de interfaces físicas. En algunas implementaciones, la pasarela de medios 1370 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 1370, externo a la estación base 1300, 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 1370 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.
[0136] La estación base 1300 puede incluir un desmodulador 1362 que está acoplado a los transceptores 1352, 1354, al procesador de datos del receptor 1364 y al procesador 1306, y el procesador de datos del receptor 1364 puede estar acoplado al procesador 1306. El desmodulador 1362 puede configurarse para desmodular señales moduladas recibidas desde los transceptores 1352, 1354 y para proporcionar datos desmodulados al procesador de datos del receptor 1364. El procesador de datos del receptor 1364 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 1306.
[0137] La estación base 1300 puede incluir un procesador de datos de transmisión 1382 y un procesador de múltiples entradas, múltiples salidas (MIMO) de transmisión 1384. El procesador de datos de transmisión 1382 puede estar acoplado al procesador 1306 y al procesador de MIMO de transmisión 1384. El procesador de MIMO de transmisión 1384 puede estar acoplado a los transceptores 1352, 1354 y al procesador 1306. En algunas implementaciones, el procesador de MIMO de transmisión 1384 puede estar acoplado a la pasarela de medios 1370. El procesador de datos de transmisión 1382 puede configurarse para recibir los mensajes o los datos de audio del procesador 1306 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 1382 puede proporcionar los datos codificados al procesador de MIMO de transmisión 1384.
[0138] 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 1382 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 1306.
[0139] El procesador de MIMO de transmisión 1384 puede configurarse para recibir los símbolos de modulación del procesador de datos de transmisión 1382 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 1384 puede aplicar ponderaciones de formación de haz a los símbolos de modulación.
[0140] Durante el funcionamiento, la segunda antena 1344 de la estación base 1300 puede recibir un flujo de datos 1314. El segundo transceptor 1354 puede recibir el flujo de datos 1314 desde la segunda antena 1344 y puede proporcionar el flujo de datos 1314 al desmodulador 1362. El desmodulador 1362 puede desmodular señales moduladas del flujo de datos 1314 y proporcionar datos desmodulados al procesador de datos del receptor 1364. El procesador de datos del receptor 1364 puede extraer datos de audio de los datos desmodulados y proporcionar los datos de audio extraídos al procesador 1306.
[0141] El procesador 1306 puede proporcionar los datos de audio al transcodificador 1310 para la transcodificación. El descodificador 1338 del transcodificador 1310 puede descodificar los datos de audio de un primer formato en datos de audio descodificados y el codificador 1336 puede codificar los datos de audio descodificados en un segundo formato. En algunas implementaciones, el codificador 1336 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 1310, las operaciones de transcodificación (por ejemplo, descodificación y codificación) pueden realizarse por múltiples componentes de la estación base 1300. Por ejemplo, la descodificación puede ser realizada por el procesador de datos del receptor 1364 y la codificación puede ser realizada por el procesador de datos de transmisión 1382. En otras implementaciones, el procesador 1306 puede proporcionar los datos de audio a la pasarela de medios 1370 para la conversión a otro protocolo de transmisión, esquema de codificación, o ambos. La pasarela de medios 1370 puede proporcionar los datos convertidos a otra estación base o red central a través de la conexión de red 1360.
[0142] El codificador 1336 puede determinar el valor de desplazamiento final 116 indicativo de una cantidad de desajuste temporal entre la primera señal de audio 130 y la segunda señal de audio 132. El codificador 1336 puede realizar una operación de desplazamiento temporal en la segunda señal de audio 132 (por ejemplo, el canal objetivo) para generar un canal objetivo ajustado. El codificador 1336 puede realizar una primera operación de transformada en la primera señal de audio 130 (por ejemplo, el canal de referencia) para generar un canal de referencia en el dominio de la frecuencia y puede realizar una segunda operación de transformada en el canal objetivo ajustado para generar un canal objetivo ajustado en el dominio de la frecuencia. El codificador 1336 puede estimar una o más indicaciones de estéreo basándose en el canal de referencia en el dominio de la frecuencia y el canal objetivo ajustado en el dominio de la frecuencia. Los datos de audio codificados generados en el codificador 1336 pueden proporcionarse al procesador de datos de transmisión 1382 o a la conexión de red 1360 a través del procesador 1306.
[0143] Los datos de audio transcodificados del transcodificador 1310 pueden proporcionarse al procesador de datos de transmisión 1382 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 1382 puede proporcionar los símbolos de modulación al procesador de MIMO de transmisión 1384 para su posterior procesamiento y formación de haces. El procesador MIMO de transmisión 1384 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 1342 a través del primer transceptor 1352. Por tanto, la estación base 1300 puede proporcionar un flujo de datos transcodificados 1316, que corresponde al flujo de datos 1314 recibido desde el dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo de datos transcodificados 1316 puede tener un formato de codificación, velocidad de datos o ambos diferentes, al flujo de datos 1314. En otras implementaciones, el flujo de datos transcodificados 1316 puede proporcionarse a la conexión de red 1360 para su transmisión a otra estación base o una red central.
[0144] Los expertos en la técnica apreciarán 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 ambos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y etapas ilustrativos, en general en términos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la solicitud
en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de distintas formas para cada aplicación en particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0145] Los pasos de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento pueden realizarse directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de espín (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), unos registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). Un dispositivo de memoria a modo de ejemplo está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un 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.
[0146] 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 dispositivo que comprende:
un codificador configurado para:
determinar un primer valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de audio de referencia y el canal de audio objetivo; y
determinar si se debe realizar una primera operación de desplazamiento temporal en el canal de audio objetivo al menos basándose en el primer valor de desajuste y un modo de codificación para generar un canal de audio objetivo ajustado;
realizar una primera operación de desplazamiento temporal en el canal de audio objetivo para generar un audio objetivo ajustado basándose en el primer valor de desajuste;
realizar una primera operación de transformada en el canal de audio de referencia para generar un canal de audio de referencia en el dominio de la frecuencia;
realizar una segunda operación de transformada en el canal de audio objetivo ajustado para generar un canal de audio objetivo ajustado en el dominio de la frecuencia;
determinar un segundo valor de desajuste entre el canal de audio de referencia y el canal de audio objetivo ajustado en un dominio de transformada;
determinar si se debe realizar una segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en la primera operación de desplazamiento temporal para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado;
realizar la segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en el segundo valor de desajuste para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado; y estimar una o más indicaciones de estéreo basándose en el canal de audio de referencia en el dominio de la frecuencia y el canal de audio objetivo ajustado en el dominio de la frecuencia modificado; y un transmisor configurado para transmitir la una o más indicaciones de estéreo.
2. El dispositivo según la reivindicación 1, en el que el segundo valor de desajuste es cero, y
en el que el canal de audio objetivo ajustado en el dominio de la frecuencia y el canal de audio objetivo ajustado en el dominio de la frecuencia modificado son iguales.
3. El dispositivo según la reivindicación 1, en el que el codificador está configurado además para generar un canal de banda media en el dominio del tiempo basado en el canal de audio de referencia y el canal de audio objetivo ajustado.
4. El dispositivo según la reivindicación 3, en el que el codificador está configurado además para codificar el canal de banda media en el dominio del tiempo para generar un flujo de bits de banda media, y en el que el transmisor está configurado además para transmitir el flujo de bits de banda media a un receptor.
5. El dispositivo según la reivindicación 3, en el que el codificador está configurado además para:
generar un canal de banda lateral basado en el canal de audio de referencia en el dominio de la frecuencia, el canal de audio objetivo ajustado en el dominio de la frecuencia y una o más indicaciones de estéreo; realizar una tercera operación de transformada en el canal de banda media en el dominio del tiempo para generar un canal de banda media en el dominio de la frecuencia; y
generar un flujo de bits de banda lateral basado en el canal de banda lateral, el canal de banda media en el dominio de la frecuencia y una o más indicaciones de estéreo,
en el que el transmisor está configurado además para transmitir el flujo de bits de banda lateral a un receptor.
6. El dispositivo según la reivindicación 1, en el que el codificador está configurado además para generar un canal de banda media en el dominio de la frecuencia basado en el canal de audio de referencia en el dominio de la frecuencia y el canal de audio objetivo ajustado en el dominio de la frecuencia.
7. El dispositivo según la reivindicación 6, en el que el codificador está configurado además para codificar el canal de banda media en el dominio de la frecuencia para generar un flujo de bits de banda media, y en el que el transmisor está configurado además para transmitir el flujo de bits de banda media a un receptor.
8. El dispositivo según la reivindicación 7, en el que el codificador está configurado además para:
generar un canal de banda lateral basado en el canal de audio de referencia en el dominio de la frecuencia, el canal de audio objetivo ajustado en el dominio de la frecuencia y una o más indicaciones de estéreo; y generar un flujo de bits de banda lateral basado en el canal de banda lateral, el flujo de bits de banda media o el canal de banda media en el dominio de la frecuencia, y una o más indicaciones de estéreo, en el que el transmisor está configurado además para transmitir el flujo de bits de banda lateral al receptor.
9. El dispositivo según la reivindicación 1, en el que el codificador está configurado además para:
generar un primer canal con muestreo descendente mediante el muestreo descendente del canal de audio de referencia;
generar un segundo canal de muestreo descendente mediante el muestreo descendente del canal de audio objetivo; y
determinar valores de comparación basados en el primer canal de muestreo descendente y una pluralidad de valores de desajuste aplicados al segundo canal de muestreo descendente,
en el que el valor de desajuste se basa en los valores de comparación.
10. El dispositivo según la reivindicación 1, en el que el primer valor de desajuste corresponde a una cantidad de tiempo de retardo entre la recepción, a través de un primer micrófono, de una primera trama del canal de audio de referencia y la recepción, a través de un segundo micrófono, de una segunda trama del canal de audio objetivo.
11. El dispositivo según la reivindicación 1, en el que las indicaciones de estéreo incluyen uno o más parámetros que permiten la renderización de propiedades espaciales asociadas con los canales de audio izquierdos y los canales de audio derechos.
12. El dispositivo según la reivindicación 1, en el que las indicaciones de estéreo incluyen uno o más parámetros de intensidad entre canales, parámetros de diferencia de intensidad entre canales (IID), parámetros de fase entre canales, parámetros de diferencias de fase entre canales (IPD), parámetros de desplazamiento no causal, parámetros de inclinación espectral, parámetros de voz entre canales, parámetros de tono entre canales, parámetros de ganancia entre canales o una combinación de los mismos.
13. El dispositivo según la reivindicación 1, en el que el codificador está integrado en un dispositivo móvil o una estación base.
14. Un procedimiento de comunicación, que comprende:
determinar, en un primer dispositivo, un primer valor de desajuste indicativo de una cantidad de desajuste temporal entre un canal de audio de referencia y un canal de audio objetivo;
determinar si realizar una primera operación de desplazamiento temporal en el canal de audio objetivo al menos basándose en el primer valor de desajuste y un modo de codificación para generar un canal de audio objetivo ajustado;
realizar una primera operación de desplazamiento temporal en el canal de audio objetivo para generar un canal de audio objetivo ajustado basándose en el primer valor de desajuste;
realizar una primera operación de transformada en el canal de audio de referencia para generar un canal de audio de referencia en el dominio de la frecuencia;
realizar una segunda operación de transformada en el canal de audio objetivo ajustado para generar un canal de audio objetivo ajustado en el dominio de la frecuencia;
determinar un segundo valor de desajuste entre el canal de audio de referencia y el canal de audio objetivo ajustado en un dominio de transformada;
determinar si se debe realizar una segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en la primera operación de desplazamiento temporal para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado; realizar la segunda operación de desplazamiento temporal en el canal de audio objetivo ajustado en el dominio de la frecuencia en el dominio de transformada basándose en el segundo valor de desajuste para generar un canal de audio objetivo ajustado en el dominio de la frecuencia modificado;
estimar una o más indicaciones de estéreo basadas en el canal de audio de referencia en el dominio de la frecuencia y el canal de audio objetivo ajustado en el dominio de la frecuencia modificado; y
transmitir una o más indicaciones de estéreo.
15. Un dispositivo de almacenamiento legible por ordenador que almacena instrucciones que, cuando se ejecutan mediante un procesador, hacen que el procesador realice operaciones de acuerdo con el procedimiento de la reivindicación 14.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662294946P | 2016-02-12 | 2016-02-12 | |
US15/422,988 US9978381B2 (en) | 2016-02-12 | 2017-02-02 | Encoding of multiple audio signals |
PCT/US2017/016418 WO2017139190A1 (en) | 2016-02-12 | 2017-02-03 | Encoding of multiple audio signals |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2821676T3 true ES2821676T3 (es) | 2021-04-27 |
Family
ID=59561681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17706610T Active ES2821676T3 (es) | 2016-02-12 | 2017-02-03 | Codificación de múltiples señales de audio |
Country Status (10)
Country | Link |
---|---|
US (1) | US9978381B2 (es) |
EP (1) | EP3414760B1 (es) |
JP (1) | JP6856655B2 (es) |
KR (1) | KR102230623B1 (es) |
CN (1) | CN108701464B (es) |
BR (1) | BR112018016247A2 (es) |
CA (1) | CA3011741C (es) |
ES (1) | ES2821676T3 (es) |
TW (1) | TWI651716B (es) |
WO (1) | WO2017139190A1 (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10074373B2 (en) * | 2015-12-21 | 2018-09-11 | Qualcomm Incorporated | Channel adjustment for inter-frame temporal shift variations |
CN107731238B (zh) * | 2016-08-10 | 2021-07-16 | 华为技术有限公司 | 多声道信号的编码方法和编码器 |
US10224042B2 (en) * | 2016-10-31 | 2019-03-05 | Qualcomm Incorporated | Encoding of multiple audio signals |
CN108269577B (zh) * | 2016-12-30 | 2019-10-22 | 华为技术有限公司 | 立体声编码方法及立体声编码器 |
CN109427337B (zh) * | 2017-08-23 | 2021-03-30 | 华为技术有限公司 | 立体声信号编码时重建信号的方法和装置 |
CN109427338B (zh) * | 2017-08-23 | 2021-03-30 | 华为技术有限公司 | 立体声信号的编码方法和编码装置 |
US10891960B2 (en) * | 2017-09-11 | 2021-01-12 | Qualcomm Incorproated | Temporal offset estimation |
US10854209B2 (en) * | 2017-10-03 | 2020-12-01 | Qualcomm Incorporated | Multi-stream audio coding |
EP3483886A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
EP3483880A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Temporal noise shaping |
EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
EP3483878A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
WO2019091573A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters |
WO2019091576A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
EP3483883A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio coding and decoding with selective postfiltering |
CN109600700B (zh) * | 2018-11-16 | 2020-11-17 | 珠海市杰理科技股份有限公司 | 音频数据处理方法、装置、计算机设备和存储介质 |
US20220406322A1 (en) * | 2021-06-16 | 2022-12-22 | Soundpays Inc. | Method and system for encoding and decoding data in audio |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE519981C2 (sv) * | 2000-09-15 | 2003-05-06 | Ericsson Telefon Ab L M | Kodning och avkodning av signaler från flera kanaler |
US7751572B2 (en) * | 2005-04-15 | 2010-07-06 | Dolby International Ab | Adaptive residual audio coding |
US7653533B2 (en) * | 2005-10-24 | 2010-01-26 | Lg Electronics Inc. | Removing time delays in signal paths |
KR101434198B1 (ko) * | 2006-11-17 | 2014-08-26 | 삼성전자주식회사 | 신호 복호화 방법 |
GB2453117B (en) * | 2007-09-25 | 2012-05-23 | Motorola Mobility Inc | Apparatus and method for encoding a multi channel audio signal |
KR101629862B1 (ko) * | 2008-05-23 | 2016-06-24 | 코닌클리케 필립스 엔.브이. | 파라메트릭 스테레오 업믹스 장치, 파라메트릭 스테레오 디코더, 파라메트릭 스테레오 다운믹스 장치, 파라메트릭 스테레오 인코더 |
US8355921B2 (en) * | 2008-06-13 | 2013-01-15 | Nokia Corporation | Method, apparatus and computer program product for providing improved audio processing |
WO2010013450A1 (ja) * | 2008-07-29 | 2010-02-04 | パナソニック株式会社 | 音響符号化装置、音響復号化装置、音響符号化復号化装置および会議システム |
WO2010017833A1 (en) * | 2008-08-11 | 2010-02-18 | Nokia Corporation | Multichannel audio coder and decoder |
US8219408B2 (en) * | 2008-12-29 | 2012-07-10 | Motorola Mobility, Inc. | Audio signal decoder and method for producing a scaled reconstructed audio signal |
US8504378B2 (en) | 2009-01-22 | 2013-08-06 | Panasonic Corporation | Stereo acoustic signal encoding apparatus, stereo acoustic signal decoding apparatus, and methods for the same |
WO2010091555A1 (zh) | 2009-02-13 | 2010-08-19 | 华为技术有限公司 | 一种立体声编码方法和装置 |
CN102656627B (zh) | 2009-12-16 | 2014-04-30 | 诺基亚公司 | 多信道音频处理方法和装置 |
PL3035330T3 (pl) | 2011-02-02 | 2020-05-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Określanie międzykanałowej różnicy czasu wielokanałowego sygnału audio |
WO2013120531A1 (en) * | 2012-02-17 | 2013-08-22 | Huawei Technologies Co., Ltd. | Parametric encoder for encoding a multi-channel audio signal |
WO2014108738A1 (en) | 2013-01-08 | 2014-07-17 | Nokia Corporation | Audio signal multi-channel parameter encoder |
TWI557727B (zh) | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
GB2515089A (en) | 2013-06-14 | 2014-12-17 | Nokia Corp | Audio Processing |
AU2014350366B2 (en) * | 2013-11-13 | 2017-02-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoder for encoding an audio signal, audio transmission system and method for determining correction values |
US9685164B2 (en) * | 2014-03-31 | 2017-06-20 | Qualcomm Incorporated | Systems and methods of switching coding technologies at a device |
-
2017
- 2017-02-02 US US15/422,988 patent/US9978381B2/en active Active
- 2017-02-03 CN CN201780010398.9A patent/CN108701464B/zh active Active
- 2017-02-03 JP JP2018541416A patent/JP6856655B2/ja active Active
- 2017-02-03 EP EP17706610.7A patent/EP3414760B1/en active Active
- 2017-02-03 KR KR1020187023232A patent/KR102230623B1/ko active IP Right Grant
- 2017-02-03 BR BR112018016247-7A patent/BR112018016247A2/pt unknown
- 2017-02-03 WO PCT/US2017/016418 patent/WO2017139190A1/en active Application Filing
- 2017-02-03 ES ES17706610T patent/ES2821676T3/es active Active
- 2017-02-03 CA CA3011741A patent/CA3011741C/en active Active
- 2017-02-10 TW TW106104348A patent/TWI651716B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP6856655B2 (ja) | 2021-04-07 |
CA3011741A1 (en) | 2017-08-17 |
US9978381B2 (en) | 2018-05-22 |
BR112018016247A2 (pt) | 2018-12-18 |
WO2017139190A1 (en) | 2017-08-17 |
CN108701464A (zh) | 2018-10-23 |
JP2019505017A (ja) | 2019-02-21 |
TW201732779A (zh) | 2017-09-16 |
EP3414760A1 (en) | 2018-12-19 |
US20170236521A1 (en) | 2017-08-17 |
CN108701464B (zh) | 2023-04-04 |
KR20180111846A (ko) | 2018-10-11 |
CA3011741C (en) | 2023-01-10 |
TWI651716B (zh) | 2019-02-21 |
KR102230623B1 (ko) | 2021-03-19 |
EP3414760B1 (en) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2821676T3 (es) | Codificación de múltiples señales de audio | |
ES2823294T3 (es) | Codificación y descodificación de diferencias de fase entre canales entre señales de audio | |
US11205436B2 (en) | Stereo parameters for stereo decoding | |
US10891961B2 (en) | Encoding of multiple audio signals | |
US10885925B2 (en) | High-band residual prediction with time-domain inter-channel bandwidth extension | |
US10885922B2 (en) | Time-domain inter-channel prediction | |
ES2843903T3 (es) | Codificación de múltiples señales de audio | |
BR112019026971B1 (pt) | Predição residual de banda alta com extensão de largura de banda inter-canal no domínio do tempo | |
BR112018010305B1 (pt) | Codificação de múltiplos sinais de áudio |