ES2843903T3 - Codificación de múltiples señales de audio - Google Patents

Codificación de múltiples señales de audio Download PDF

Info

Publication number
ES2843903T3
ES2843903T3 ES17822910T ES17822910T ES2843903T3 ES 2843903 T3 ES2843903 T3 ES 2843903T3 ES 17822910 T ES17822910 T ES 17822910T ES 17822910 T ES17822910 T ES 17822910T ES 2843903 T3 ES2843903 T3 ES 2843903T3
Authority
ES
Spain
Prior art keywords
channel
residual
frequency domain
offset value
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17822910T
Other languages
English (en)
Inventor
Venkatraman Atti
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2843903T3 publication Critical patent/ES2843903T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/02Spatial or constructional arrangements of loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/15Aspects of sound capture and related signal processing for recording or reproduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Stereophonic System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Medicinal Preparation (AREA)

Abstract

Un dispositivo que comprende: una primera unidad de transformada configurada para realizar una primera operación de transformada en un canal de referencia de una primera señal de audio para generar un canal de referencia en el dominio de la frecuencia; una segunda unidad de transformada configurada para realizar una segunda operación de transformada en un canal objetivo de una segunda señal de audio para generar un canal objetivo en el dominio de la frecuencia; una unidad de ajuste de canal estéreo configurada para: determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia; y ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado; un mezclador descendente configurado para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral; una unidad de generación residual configurada para: generar un canal lateral predicho en base al canal medio, correspondiendo el canal lateral predicho a una predicción del canal lateral; y generar un canal residual en base al canal lateral y el canal lateral predicho; una unidad de ajuste a escala residual configurada para: determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales; y ajustar a escala el canal residual en el factor de ajuste a escala para generar un canal residual ajustado a escala; un codificador de canal medio configurado para codificar el canal medio como parte de un flujo de bits; y un codificador de canal residual configurado para codificar el canal residual ajustado a escala como parte del flujo de bits.

Description

DESCRIPCIÓN
Codificación de múltiples señales de audio
I.
II. Campo
[0001] La presente divulgación se refiere, en general, a la codificación (por ejemplo, codificación o descodificación) de múltiples señales de audio.
III. Descripción de la técnica relacionada
[0002] 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, tabletas 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 sobre redes inalámbricas. Además, muchos dispositivos de este tipo 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. Además, dichos dispositivos pueden procesar instrucciones ejecutables, incluyendo aplicaciones de software, tales como una aplicación de navegador web, que se puede usar para acceder a Internet. Como tal, estos dispositivos pueden incluir capacidades informáticas significativas.
[0003] Un dispositivo informático puede incluir o estar acoplado a 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 retrasar 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 se puede retrasar 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. 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 retraso de la recepción de la segunda señal de audio en relación con la primera señal de audio. La desalineación (por ejemplo, un desfase temporal) 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.
[0004] En situaciones donde el desfase temporal entre un primer canal y un segundo canal (por ejemplo, una primera señal y una segunda señal) es bastante grande, las ventanas de análisis y síntesis en un procedimiento de estimación de parámetros de la transformada discreta de Fourier (DFT) tienden a desfasarse de forma indeseable.
[0005] El documento EP 2375409 divulga un sistema de codificación de audio multicanal en el que una señal de combinación comprende una señal media y una señal residual que se deriva usando una señal lateral predicha derivada de la señal media.
IV. Breve explicación
[0006] El objetivo de la presente invención se logra por las reivindicaciones independientes. Los modos de realización particulares se definen en las reivindicaciones dependientes.
[0007] En una implementación particular, un dispositivo incluye una primera unidad de transformada configurada para realizar una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia. El dispositivo también incluye una segunda unidad de transformada configurada para realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia. El dispositivo incluye además una unidad de ajuste de canal estéreo configurada para determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia. La unidad de ajuste de canal estéreo también se configura para ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado. El dispositivo también incluye un mezclador descendente configurado para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral. El dispositivo incluye además una unidad de generación residual configurada para generar un canal lateral predicho en base al canal medio. El canal lateral predicho corresponde a una predicción del canal lateral. La unidad de generación residual también se configura para generar un canal residual en base al canal lateral y el canal lateral predicho. El dispositivo también incluye una unidad de ajuste a escala residual configurada para determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales. La unidad de ajuste a escala residual también se configura para ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala. El dispositivo también incluye un codificador de canal medio configurado para codificar el canal medio como parte de un flujo de bits. El dispositivo incluye además un codificador de canal residual configurado para codificar el canal residual ajustado a escala como parte del flujo de bits.
[0008] En otra implementación particular, un procedimiento de comunicación incluye realizar, en un codificador, una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia. El procedimiento también incluye realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia. El procedimiento también incluye determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia. El procedimiento incluye además ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado. El procedimiento también incluye realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral. El procedimiento incluye además generar un canal lateral predicho en base al canal medio. El canal lateral predicho corresponde a una predicción del canal lateral. El procedimiento también incluye generar un canal residual en base al canal lateral y el canal lateral predicho. El procedimiento incluye además determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales. El procedimiento también incluye ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala. El procedimiento incluye además codificar el canal medio y el canal residual ajustado a escala como parte de un flujo de bits.
[0009] En otra implementación particular, un medio no transitorio legible por ordenador incluye instrucciones que, cuando se ejecutan por un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen realizar una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia. Las operaciones también incluyen realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia. Las operaciones también incluyen determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia. Las operaciones también incluyen ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado. Las operaciones también incluyen realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral. Las operaciones también incluyen generar un canal lateral predicho en base al canal medio. El canal lateral predicho corresponde a una predicción del canal lateral. Las operaciones también incluyen generar un canal residual en base al canal lateral y el canal lateral predicho. Las operaciones también incluyen determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales. Las operaciones también incluyen ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala. Las operaciones también incluyen codificar el canal medio y el canal residual ajustado a escala como parte de un flujo de bits.
[0010] En otra implementación particular, un aparato incluye medios para realizar una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia. El aparato también incluye medios para realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia. El aparato también incluye medios para determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia. El aparato también incluye medios para ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado. El aparato también incluye medios para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral. El aparato también incluye medios para generar un canal lateral predicho en base al canal medio. El canal lateral predicho corresponde a una predicción del canal lateral. El aparato también incluye medios para generar un canal residual en base al canal lateral y el canal lateral predicho. El aparato también incluye medios para determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales. El aparato también incluye medios para ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala. El aparato también incluye medios para codificar el canal medio y el canal residual ajustado a escala como parte de un flujo de bits.
[0011] Otras implementaciones, ventajas y rasgos característicos de la presente divulgación resultarán evidentes después de revisar la solicitud completa, que incluye las siguientes secciones: Breve descripción de los dibujos, Descripción detallada y Reivindicaciones.
V. Breve descripción de los dibujos
[0012]
La FIG. 1 es un diagrama de bloques de un ejemplo ilustrativo particular de un sistema que incluye un codificador que se puede hacer funcionar para codificar múltiples señales de audio;
la FIG. 2 es un diagrama que ilustra un ejemplo del codificador de la FIG. 1;
la FIG. 3 es un diagrama que ilustra otro ejemplo del codificador de la FIG. 1;
la FIG. 4 es un diagrama que ilustra un ejemplo de descodificador;
la FIG. 5 incluye un diagrama de flujo que ilustra un procedimiento de descodificación de señales de audio;
la FIG. 6 es un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo que se puede hacer funcionar para codificar múltiples señales de audio.
VI. Descripción detallada
[0013] A continuación, se describen aspectos particulares de la presente divulgación en referencia a los dibujos. En la descripción, los rasgos característicos comunes se designan por números de referencia comunes. Como se usa en el presente documento, diversa terminología se usa con el propósito de describir implementaciones particulares solo y no pretende ser limitante de las implementaciones. Por ejemplo, las formas en singular "un", "una", "el" y "la" pretenden incluir también las formas en plural, a menos que el contexto lo indique claramente de otro modo. Se puede entender además que los términos "comprende y "que comprende/comprendiendo" se pueden usar de manera intercambiable con "incluye" o "que incluye/incluyendo". Adicionalmente, se entenderá que el término "en el que" se puede usar de manera intercambiable con "donde". Como se usa en el presente documento, un término ordinal (por ejemplo, "primero", "segundo", "tercero", etc.) usado para modificar un elemento, tal como una estructura, un componente, una operación, etc., no indica por sí mismo ninguna prioridad u orden del elemento con respecto a otro elemento, sino más bien distingue meramente el elemento de otro elemento que tenga un mismo nombre (salvo para el uso del término ordinal). Como se usa en el presente documento, el término "conjunto" se refiere a uno o más de un elemento particular, y el término "pluralidad" se refiere a múltiples (por ejemplo, dos o más) de un elemento particular.
[0014] En la presente divulgación, términos tales como "que determina/determinando", "que calcula/calculando", "que desplaza/desplazando", "que ajusta/ajustando", etc., se pueden usar para describir cómo se realizan una o más operaciones. Cabe destacar que dichos términos no se deben interpretar como limitantes y se pueden utilizar otras técnicas para realizar operaciones similares. Adicionalmente, como se hace referencia en el presente documento, "que genera/generando", "que calcula/calculando", "que usa/usando", "que selecciona/seleccionando", "que accede/accediendo" y "que determina/determinando" se pueden usar de manera intercambiable. Por ejemplo, "que genera/generando", "que calcula/calculando" o "que determina/determinando" un parámetro (o una señal) se puede referir a generar, calcular o determinar activamente el parámetro (o la señal) o se puede referir a usar, seleccionar o acceder al parámetro (o señal) que ya se ha generado, tal como por otro componente o dispositivo.
[0015] Se divulgan sistemas y dispositivos que se pueden hacer funcionar 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 se pueden capturar 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) se pueden generar sintéticamente (por ejemplo, artificialmente) multiplexando varios canales de audio que se graban al mismo tiempo o en momentos diferentes. Como ejemplos ilustrativos, la grabación o multiplexación simultánea de los canales de audio puede dar como resultado una configuración de 2 canales (es decir, estéreo: izquierda y derecha), una configuración de canal 5.1 (izquierda, derecha, centro, envolvente izquierdo, envolvente derecho y canales de énfasis de baja frecuencia (LFE)), una configuración de canal 7.1, una configuración de canal 7.1+4, una configuración de canal 22.2, o una configuración de canal N.
[0016] Los dispositivos de captura de audio en salas de teleconferencia (o salas de telepresencia) pueden incluir múltiples micrófonos que adquieren audio espacial. El audio espacial puede incluir voz, así como audio de fondo que se codifica y transmite. La voz/audio de una fuente dada (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 así como 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 desde la fuente de sonido puede llegar al primer micrófono antes que al segundo micrófono. El dispositivo puede recibir una primera señal de audio por medio del primer micrófono y puede recibir una segunda señal de audio por medio del segundo micrófono.
[0017] La codificación de lado medio (MS) y la codificación estéreo paramétrica (PS) son técnicas de codificación estéreo que pueden proporcionar una eficacia mejorada respecto a las técnicas de codificación mono dual. En la codificación mono dual, el canal (o señal) izquierdo (L) y el canal (o señal) derecho (R) se codifican independientemente sin usar la correlación entre canales. La codificación MS reduce la redundancia entre un par de canales L/R correlacionados al transformar el canal izquierdo y el canal derecho en un canal de suma y un canal de diferencia (por ejemplo, un canal lateral) antes de la codificación. La señal de suma y la señal de diferencia se codifican en forma de onda o se codifican en base a 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 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 se puede codificar en forma de onda en las bandas inferiores (por ejemplo, menos de 2 kilohercios (kHz)) y el PS se puede codificar en las bandas superiores (por ejemplo, mayor que 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 se puede usar en las bandas inferiores también para reducir la redundancia entre canales antes de la codificación de formas de onda.
[0018] La codificación MS y la codificación PS se pueden realizar en el dominio de la frecuencia o bien en el dominio de subbanda. En algunos ejemplos, es posible que el canal izquierdo y el canal derecho no estén 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, se pueden aproximar a la eficacia de codificación de la codificación mono dual.
[0019] Dependiendo de la configuración de grabación, puede haber un desfase 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 desfase temporal y el desfase 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 de las ganancias de codificación se puede basar en la cantidad de desfase 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 se desfasan 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) en base a la siguiente fórmula:
M= (I.i R)/2. S -(L-R)/2. Fórmula 1
donde M corresponde al canal medio, S corresponde al canal lateral, L corresponde al canal izquierdo y R corresponde al canal derecho.
[0020] En algunos casos, el canal medio y el canal lateral se pueden generar en base a la siguiente fórmula:
M=c (L+R), S= c (L-R), Fórmula 2
donde c corresponde a un valor complejo que es dependiente de la frecuencia. Generar el canal medio y el canal lateral en base a la fórmula 1 o la fórmula 2 se puede denominar "mezcla descendente". Un procedimiento inverso de generar el canal izquierdo y el canal derecho a partir del canal medio y el canal lateral en base a la fórmula 1 o la fórmula 2 se puede denominar "mezcla ascendente".
[0021] En algunos casos, el canal medio se puede basar en otras fórmulas tales como:
M = (L+gDR)/2, o Fórmula 3
M = giL g2R Fórmula 4
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 medio(b) = ciL(b) c2R(b), donde c1 y c2 son números complejos, donde lateral(b) = c3L(b) - c4R(b), y donde c3 y c4 son números complejos.
[0022] Un enfoque ad hoc usado para elegir entre la codificación MS o la codificación mono dual para una trama particular puede incluir generar una señal media y una señal lateral, calcular las energías de la señal media y la señal lateral, y determinar si se realiza una codificación MS en base a las energías. Por ejemplo, la codificación MS se puede realizar en respuesta a la determinación de que la proporción de energías de la señal lateral y la señal media es inferior a un umbral. A modo ilustrativo, si un canal derecho se desplaza en al menos un primer tiempo (por ejemplo, aproximadamente 0,001 segundos o 48 muestras a 48 kHz), una primera energía de la señal media (correspondiente a una suma de la señal izquierda y la señal derecha) puede ser comparable a una segunda energía de la señal lateral (correspondiente a una diferencia entre la señal izquierda y la señal derecha) para tramas de voz sonoras. 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 que o igual al 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 en base a una comparación de un umbral y valores de correlación cruzada normalizados del canal izquierdo y el canal derecho.
[0023] En algunos ejemplos, el codificador puede determinar un valor de desfase indicativo de una cantidad de desfase 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 desfase" se pueden usar de manera intercambiable. Por ejemplo, el codificador puede determinar un valor de desplazamiento temporal indicativo de un desplazamiento (por ejemplo, el desfase temporal) de la primera señal de audio en relación con la segunda señal de audio. El valor de desfase puede corresponder a una cantidad de desfase 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 desfase trama por trama, por ejemplo, en base a cada trama de voz/audio de 20 milisegundos (ms). Por ejemplo, el valor de desfase puede corresponder a una cantidad de tiempo en el que una segunda trama de la segunda señal de audio se retrasa con respecto a una primera trama de la primera señal de audio. De forma alternativa, el valor de desfase puede corresponder a una cantidad de tiempo en el que la primera trama de la primera señal de audio se retrasa con respecto a la segunda trama de la segunda señal de audio.
[0024] 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 retrasar en relación con las tramas de la primera señal de audio. En este caso, la primera señal de audio se puede denominar "señal de audio de referencia" o "canal de referencia" y la segunda señal de audio retrasada se puede denominar "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 retrasar en relación con las tramas de la segunda señal de audio. En este caso, la segunda señal de audio se puede denominar señal de audio de referencia o canal de referencia y la primera señal de audio retrasada se puede denominar señal de audio objetivo o canal objetivo.
[0025] 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 desfase temporal también puede cambiar de una trama a otra. Sin embargo, en algunas implementaciones, el valor de desfase temporal siempre puede ser positivo para indicar una cantidad de retraso del canal "objetivo" en relación con el canal de "referencia". Además, el valor de desfase temporal se puede usar para determinar un valor de "desplazamiento no causal" (denominado en el presente documento "valor de desplazamiento") por el que el canal objetivo retrasado se "retrae" en el tiempo de modo que el canal objetivo esté alineado (por ejemplo, alineado al máximo) con el canal de "referencia". El algoritmo de mezcla descendente para determinar el canal medio y el canal lateral se puede realizar en el canal de referencia y el canal objetivo desplazado no causal.
[0026] El codificador puede determinar el valor de desfase temporal en base al canal de audio de referencia y una pluralidad de valores de desfase temporal aplicados al canal de audio objetivo. Por ejemplo, una primera trama del canal de audio de referencia, X, se puede recibir en un primer tiempo (mi). Una primera trama particular del canal de audio objetivo, Y, se puede recibir en un segundo tiempo (m) correspondiente a un primer valor de desfase temporal, por ejemplo, desfase1 = m - m1. Además, una segunda trama del canal de audio de referencia se puede recibir en un tercer tiempo (m2). Una segunda trama particular del canal de audio objetivo se puede recibir en un cuarto tiempo (n2) correspondiente a un segundo valor de desfase temporal, por ejemplo, desfase2 = n2 - m2.
[0027] El dispositivo puede realizar un algoritmo de entramado o de almacenamiento en búfer para generar una trama (por ejemplo, muestras de 20 ms) a una primera tasa de muestreo (por ejemplo, tasa de muestreo de 32 kHz (es decir, 640 muestras por trama)). El codificador puede, 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 diversos motivos (por ejemplo, calibración del micrófono).
[0028] En algunos ejemplos, es posible que el canal izquierdo y el canal derecho estén desalineados temporalmente debido a diversos motivos (por ejemplo, una fuente de sonido, tal como un hablante, puede estar más cerca de uno de los micrófonos que de otro y los dos los micrófonos pueden estar separados 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 retrasos 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.
[0029] En algunos ejemplos, donde hay más de dos canales, un canal de referencia se selecciona inicialmente en base a los niveles o energía de los canales, y posteriormente se refina en base a los valores de desfase 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 ref. inicialmente y t1(.), t2(.), etc., son las funciones para estimar los valores de desfase. Si todos los valores de desfase temporal son positivos, entonces ch1 se trata como el canal de referencia. De forma alternativa, si alguno de los valores de desfase es un valor negativo, entonces el canal de referencia se reconfigura a un canal que estaba asociado con un valor de desfase que dio como resultado un valor negativo y el procedimiento anterior continúa hasta que se logra la mejor selección (es decir, en base a 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 de canal de referencia.
[0030] En algunos ejemplos, un tiempo de llegada de las señales de audio a los micrófonos desde múltiples fuentes de sonido (por ejemplos, hablantes) puede variar cuando los múltiples hablantes están hablando de forma alternativa (por ejemplo, sin superposición). En un caso de este tipo, el codificador puede ajustar dinámicamente un valor de desfase temporal en base al hablante para identificar el canal de referencia. En algunos otros ejemplos, los múltiples hablantes pueden estar hablando al mismo tiempo, lo que puede dar como resultado valores variables de desfase temporal dependiendo de quién es el hablante que habla más alto, el más cercano al micrófono, etc. En un caso de este tipo, la identificación de los canales de referencia y objetivo se puede basar en los valores variables de desplazamiento temporal en la trama actual y los valores de desfase temporal estimados en las tramas previas, y basarse en la energía o evolución temporal de la primera y segunda señales de audio.
[0031] En algunos ejemplos, la primera señal de audio y la segunda señal de audio se pueden sintetizar o generar artificialmente cuando las dos señales muestran potencialmente menos (por ejemplo, ninguna) correlación. Se debe entender que los ejemplos descritos en el presente documento son ilustrativos y pueden ser instructivos en la determinación de una relación entre la primera señal de audio y la segunda señal de audio en situaciones similares o diferentes.
[0032] El codificador puede generar valores de comparación (por ejemplo, valores de diferencia o valores de correlación cruzada) en base a 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 desfase temporal particular. El codificador puede generar un primer valor de desplazamiento estimado en base a 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 una primera trama correspondiente de la segunda señal de audio.
[0033] El codificador puede determinar un valor de desplazamiento final refinando, en múltiples etapas, una serie de valores de desplazamiento estimados. Por ejemplo, el codificador puede estimar en primer lugar un valor de desplazamiento "provisional" en base a valores de comparación generados a partir de versiones preprocesadas y remuestreadas estéreo de la primera señal de audio y la segunda señal de audio. El codificador puede generar valores de comparación interpolados asociados con valores de desplazamiento próximos al valor de desplazamiento "provisional" estimado. El codificador puede determinar un segundo valor de desplazamiento "interpolado" estimado en base a 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 a un valor de desplazamiento final de una trama previa (por ejemplo, una trama de la primera señal de audio que precede a la primera trama), entonces el valor de desplazamiento "interpolado" de la trama actual se "modifica" ademá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 exacta 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 se condiciona además para estimar el valor de desplazamiento final al limitar cualquier cambio espurio en el valor de desplazamiento entre tramas y se controla además para no conmutar 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.
[0034] En algunos ejemplos, el codificador se puede abstener de conmutar entre un valor de desplazamiento positivo y un valor de desplazamiento negativo o viceversa en tramas consecutivas o en tramas contiguas. 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 en base al 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 a la primera trama. A modo ilustrativo, 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 del valor de desplazamiento "provisional" o "interpolado" o "modificado" estimado de la trama actual es positivo y el otro del valor de desplazamiento estimado "provisional" o "interpolado" o "modificado" o "final" estimado de la trama previa (por ejemplo, la trama que precede a la primera trama) es negativo. De forma alternativa, el codificador también 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 del valor de desplazamiento "provisional" o "interpolado" o "modificado" estimado de la trama actual es negativo y el otro del valor de desplazamiento estimado "provisional" o "interpolado" o "modificado" o "final" estimado de la trama previa (por ejemplo, la trama que precede a la primera trama) es positivo.
[0035] El codificador puede seleccionar una trama de la primera señal de audio o la segunda señal de audio como "referencia" u "objetivo" en base al 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 una señal de "referencia" y que la segunda señal de audio es la señal "objetivo". De forma alternativa, en respuesta a la determinación de que el valor de 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 una señal de "referencia" y que la primera señal de audio es la señal "objetivo".
[0036] El codificador puede estimar una ganancia relativa (por ejemplo, un parámetro de ganancia relativa) asociada con la señal de referencia y la señal objetivo desplazada no causal. Por ejemplo, en respuesta a la determinación de que el valor de 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 está desplazada en 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 desplazada no causal en relación con la segunda señal de audio. En algunos ejemplos, el codificador puede estimar un valor de ganancia para normalizar o igualar los niveles de amplitud o potencia de la señal de "referencia" en relación con la señal "objetivo" desplazada no causal. En otros ejemplos, el codificador puede estimar el valor de ganancia (por ejemplo, un valor de ganancia relativa) en base a la señal de referencia en relación con la señal objetivo (por ejemplo, la señal objetivo no desplazada).
[0037] El codificador puede generar al menos una señal codificada (por ejemplo, una señal de canal medio, una señal de canal lateral o ambas) en base a la señal de referencia, la señal objetivo, el valor de 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) en base al canal de referencia y el canal objetivo ajustado por desfase temporal. La señal lateral puede corresponder a una diferencia entre las primeras muestras de la primera trama de la primera señal de audio y las muestras seleccionadas de una trama seleccionada de la segunda señal de audio. El codificador puede seleccionar la trama seleccionada en base al 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 se recibe por el dispositivo al mismo tiempo que la primera trama. Un transmisor del dispositivo puede transmitir la al menos una señal codificada, el valor de 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.
[0038] El codificador puede generar al menos una señal codificada (por ejemplo, una señal media, una señal lateral o ambas) en base a la señal de referencia, la señal 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 a 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 precedentes se pueden usar para codificar una señal media, una señal lateral o ambas, de la primera trama. La codificación de la señal media, la señal lateral o ambas, en base a 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 conformació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 (o señal) de referencia o una combinación de los mismos. En la presente divulgación, términos tales como "que determina/determinando", "que calcula/calculando", "que desplaza/desplazando", "que ajusta/ajustando", etc., se pueden usar para describir cómo se realizan una o más operaciones. Cabe destacar que dichos términos no se deben interpretar como limitantes y se pueden utilizar otras técnicas para realizar operaciones similares.
[0039] En la presente divulgación, se divulgan sistemas y dispositivos que se pueden hacer funcionar para modificar o codificar señales de un canal residual (por ejemplo, un canal (o señal) lateral o un canal (o señal) de error). Por ejemplo, el canal residual se puede modificar o codificar en base a un valor de desalineación o desfase temporal entre un canal objetivo y un canal de referencia para reducir el ruido entre armónicos introducido por los efectos de ventana en un codificador estéreo "flexible" adaptable a la señal. El codificador estéreo "flexible" adaptable a la señal puede transformar una o más señales en el dominio del tiempo (por ejemplo, el canal de referencia y el canal objetivo ajustado) en señales en el dominio de la frecuencia. El desfase de ventana en la síntesis de análisis puede dar como resultado un ruido entre armónicos pronunciado o una fuga espectral en el canal lateral estimado en el procedimiento de mezcla descendente.
[0040] Algunos codificadores mejoran la alineación temporal de dos canales desplazando ambos canales. Por ejemplo, un primer canal se puede desplazar causalmente en la mitad de la cantidad de desfase, y un segundo canal se puede desplazar no causalmente en la mitad de la cantidad de desfase, dando como resultado una alineación temporal de los dos canales. Sin embargo, los sistemas propuestos usan solo el desplazamiento no causal de un canal para mejorar la alineación temporal de los canales. Por ejemplo, un canal objetivo (por ejemplo, un canal rezagado), se puede desplazar no causalmente para alinear el canal de referencia y el canal objetivo. Dado que solo el canal objetivo se desplaza para alinear temporalmente los canales, el canal objetivo se desplaza en una cantidad mayor de lo que sería si se usaran desplazamientos tanto causales como no causales para alinear los canales. Cuando un canal, es decir, el canal objetivo, es el único canal desplazado en base a un valor de desfase determinado, un canal medio y un canal lateral (obtenidos de la mezcla descendente del primer canal y el segundo canal) demostrarán un incremento en el ruido entre armónicos o fuga espectral. Este ruido entre armónicos (por ejemplo, artefactos) es más dominante en el canal lateral, cuando la rotación de ventana (por ejemplo, la cantidad de desplazamiento no causal) es bastante grande (por ejemplo, mayor de 1 -2 ms).
[0041] El desplazamiento de canal objetivo se puede realizar en el dominio del tiempo o en el dominio de la frecuencia. Si el canal objetivo se desplaza en el dominio del tiempo, el canal objetivo desplazado y el canal de referencia se someten a análisis DFT, usando una ventana de análisis, para transformar el canal objetivo desplazado y el canal de referencia en el dominio de la frecuencia. De forma alternativa, si el canal objetivo se desplaza en el dominio de la frecuencia, el canal objetivo (antes del desplazamiento) y el canal de referencia se pueden someter a análisis DFT, usando la ventana de análisis, para transformar el canal objetivo y el canal de referencia en el dominio de la frecuencia y el canal objetivo se desplaza (usando operaciones de rotación de fase) después del análisis DFT. En cualquier caso, después del desplazamiento y el análisis DFT, las versiones en el dominio de la frecuencia del canal objetivo desplazado y el canal de referencia se mezclan de forma descendente para generar un canal medio y un canal lateral. En algunas implementaciones, se puede generar un canal de error. El canal de error indica diferencias entre el canal lateral y un canal lateral estimado que se determina en base al canal medio. El término "canal residual" se usa en el presente documento para hacer referencia al canal lateral o al canal de error. Posteriormente, se realiza la síntesis DFT, usando una ventana de síntesis, para transformar las señales que se van a transmitir (por ejemplo, el canal medio y el canal residual) de nuevo en el dominio del tiempo.
[0042] Para evitar la introducción de artefactos, la ventana de síntesis debe coincidir con la ventana de análisis. Sin embargo, cuando la desalineación temporal del canal objetivo y de referencia es grande, la alineación del canal objetivo y de referencia usando solo un desplazamiento no causal del canal objetivo puede provocar un gran desfase entre la ventana de síntesis y la ventana de análisis correspondiente al canal objetivo que es parte del canal residual. Los artefactos introducidos por este desfase de ventanas son frecuentes en el canal residual.
[0043] El canal residual se puede modificar para reducir estos artefactos. En un ejemplo, el canal residual se puede atenuar (por ejemplo, aplicando una ganancia al canal lateral o aplicando una ganancia al canal de error) antes de generar un flujo de bits para su transmisión. El canal residual se puede atenuar completamente, por ejemplo, poner a cero, o solo atenuar parcialmente. Como otro ejemplo, se puede modificar un número de bits usados para codificar el canal residual en el flujo de bits. Por ejemplo, cuando la desalineación temporal entre el canal objetivo y el canal de referencia es pequeña (por ejemplo, por debajo de un umbral), se puede adjudicar un primer número de bits para la transmisión de información de canal residual. Sin embargo, cuando la desalineación temporal entre el canal objetivo y el canal de referencia es grande (por ejemplo, un umbral mayor), se puede adjudicar un segundo número de bits para la transmisión de información de canal residual, donde el segundo número es menor que el primer número.
[0044] En 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, por medio 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.
[0045] El primer dispositivo 104 puede incluir un codificador 114, un transmisor 110 y una o más interfaces de entrada 112. Al menos una interfaz de entrada de las interfaces de entrada 112 se puede acoplar a un primer micrófono 146, y al menos otra interfaz de entrada de la interfaz de entrada 112 se puede acoplar a un segundo micrófono 148. El codificador 114 puede incluir una unidad de transformada 202, una unidad de transformada 204, una unidad de ajuste de canal estéreo 206, un mezclador descendente 208, una unidad de generación residual 210, una unidad de ajuste a escala residual 212 (por ejemplo, un modificador de canal residual), un codificador de canal medio 214, un codificador de canal residual 216 y un codificador estéreo "flexible" adaptable a la señal 109. El codificador estéreo "flexible" adaptable a la señal 109 puede incluir un codificador de dominio del tiempo (TD), un codificador de dominio de la frecuencia (FD) o un codificador de dominio de transformada de coseno discreta modificada (MDCT). Las modificaciones de la señal residual o de la señal de error descritas en el presente documento pueden ser aplicables a cada modo de mezcla descendente estéreo (por ejemplo, un modo de mezcla descendente TD, un modo de mezcla descendente FD o un modo de mezcla descendente MDCT). El primer dispositivo 104 también puede incluir una memoria 153 configurada para almacenar datos de análisis.
[0046] El segundo dispositivo 106 puede incluir un descodificador 118. El descodificador 118 puede incluir un equilibrador temporal 124 y un descodificador estéreo de dominio de la frecuencia 125. El segundo dispositivo 106 se puede acoplar a un primer altavoz 142, a un segundo altavoz 144 o a ambos.
[0047] Durante el funcionamiento, el primer dispositivo 104 puede recibir un canal de referencia 220 (por ejemplo, una primera señal de audio) por medio de la primera interfaz de entrada desde el primer micrófono 146 y puede recibir un canal objetivo 222 (por ejemplo, una segunda señal de audio) por medio de la segunda interfaz de entrada desde el segundo micrófono 148. El canal de referencia 220 puede corresponder a un canal adelantado en el tiempo (por ejemplo, un canal principal), y el canal objetivo 222 puede corresponder a un canal rezagado en el tiempo (por ejemplo, un canal rezagado). Por ejemplo, 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. En consecuencia, se puede recibir una señal de audio desde la fuente de sonido 152 en las interfaces de entrada 112 por medio del primer micrófono 146 en un tiempo anterior que por medio del segundo micrófono 148. Este retraso natural en la adquisición de la señal multicanal a través de los múltiples micrófonos puede introducir una desalineación temporal entre el primer canal de audio 130 y el segundo canal de audio 132. El canal de referencia 220 puede ser un canal derecho o un canal izquierdo, y el canal objetivo 222 puede ser el otro del canal derecho o el canal izquierdo.
[0048] Como se describe con mayor detalle con respecto a la FIG. 2, el canal objetivo 222 se puede ajustar (por ejemplo, desplazar temporalmente) para alinearse sustancialmente con el canal de referencia 220. De acuerdo con una implementación, el canal de referencia 220 y el canal objetivo 222 pueden variar de trama a trama.
[0049] En referencia a la FIG. 2, se muestra un ejemplo de un codificador 114A. El codificador 114A puede corresponder al codificador 114 de la FIG. 1. El codificador 114a incluye la unidad de transformada 202, la unidad de transformada 204, la unidad de ajuste de canal estéreo 206, el mezclador descendente 208, la unidad de generación residual 210, la unidad de ajuste a escala residual 212, el codificador de canal medio 214 y el codificador de canal residual 216.
[0050] El canal de referencia 220 capturado por el primer micrófono 146 se proporciona a la unidad de transformada 202. La unidad de transformada 202 se configura para realizar una primera operación de transformada en el canal de referencia 220 para generar un canal de referencia en el dominio de la frecuencia 224. Por ejemplo, la primera operación de transformada puede incluir una o más operaciones de transformada discreta de Fourier (DFT), operaciones de transformada rápida de Fourier (FFT), operaciones de transformada discreta de coseno modificada (MDCT), etc. De acuerdo con algunas implementaciones, se pueden usar operaciones con banco de filtros espejos en cuadratura (QMF) (que usan bandas de filtro, tales como un banco de filtros de retraso bajo complejo) para separar el canal de referencia 220 en múltiples subbandas. El canal de referencia en el dominio de la frecuencia 224 se proporciona a la unidad de ajuste de canal estéreo 206.
[0051] El canal objetivo 222 capturado por el segundo micrófono 148 se proporciona a la unidad de transformada 204. La unidad de transformada 204 se configura para realizar una segunda operación de transformada en el canal objetivo 222 para generar un canal objetivo en el dominio de la frecuencia 226. Por ejemplo, la segunda operación de transformada puede incluir operaciones DFT, operaciones FFT, operaciones MDCT, etc. De acuerdo con algunas implementaciones, se pueden usar operaciones QMF para separar el canal objetivo 222 en múltiples subbandas. El canal objetivo en el dominio de la frecuencia 226 también se proporciona a la unidad de ajuste de canal estéreo 206.
[0052] En algunas implementaciones alternativas, puede haber etapas de procesamiento adicionales realizadas en los canales de referencia y objetivo capturados por los micrófonos antes de realizar las operaciones de transformada. Por ejemplo, en una implementación, los canales se pueden desplazar (por ejemplo, causalmente, no causalmente o ambos) en el dominio del tiempo para alinearse entre sí en base al valor de desfase estimado en una trama previa. A continuación, la operación de transformada se realiza en los canales desplazados.
[0053] La unidad de ajuste de canal estéreo 206 se configura para determinar un valor de desfase entre canales 228 que es indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia 226. Por tanto, el valor de desfase entre canales 228 puede ser un parámetro de diferencia de tiempo entre canales (ITD) que indica (en un dominio de la frecuencia) cuánto se rezaga el canal objetivo 222 con respecto al canal de referencia 220. La unidad de ajuste de canal estéreo 206 se configura además para ajustar el canal objetivo en el dominio de la frecuencia 226 en base al valor de desfase entre canales 228 para generar un canal objetivo en el dominio de la frecuencia ajustado 230. Por ejemplo, la unidad de ajuste de canal estéreo 206 puede desplazar el canal objetivo en el dominio de la frecuencia 226 en el valor de desfase entre canales 228 para generar el canal objetivo en el dominio de la frecuencia ajustado 230 que está sincronizado temporalmente con el canal de referencia en el dominio de la frecuencia 224. El canal de referencia en el dominio de la frecuencia 224 se transmite al mezclador descendente 208, y el canal objetivo en el dominio de la frecuencia ajustado 230 se proporciona al mezclador descendente 208. El valor de desfase entre canales 228 se proporciona a la unidad de ajuste a escala residual 212.
[0054] El mezclador descendente 208 se configura para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230 para generar un canal medio 232 y un canal lateral 234. El canal medio (Mfr(b)) 232 puede ser una función del canal de referencia en el dominio de la frecuencia (Lfr(b)) 224 y el canal objetivo en el dominio de la frecuencia ajustado (Rfr(b)) 230. Por ejemplo, el canal medio (Mfr(b)) 232 se puede expresar como Mfr(b) = (Lfr(b) Rfr(b))/2. De acuerdo con otra implementación, el canal medio (Mfr(b)) 232 se puede expresar como Mfr(b) = d(b)*Lfr(b) c2*Rfr(b), donde c1(b) y c2(b) son valores complejos. En algunas implementaciones, los valores complejos c1(b) y c2(b) se basan en parámetros de estéreo (por ejemplo, parámetros de diferencia de fase entre canales (IPD)). Por ejemplo, en una implementación, c1(b) = (cos(-y) - fs¡n(-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. El canal medio 232 se proporciona a la unidad de generación residual 210 y al codificador de canal medio 214.
[0055] El canal lateral (Sfr(b)) 234 también puede ser una función del canal de referencia en el dominio de la frecuencia (Lfr(b)) 224 y el canal objetivo en el dominio de la frecuencia ajustado (Rfr(b)) 230. Por ejemplo, el canal lateral (Sfr(b)) 234 se puede expresar como Sfr(b) = (Lfr(b) - Rfr(b))/2. De acuerdo con otra implementación, el canal lateral (Sfr(b)) 234 se puede expresar como Sfr(b) = (Lfr(b) - c(b)* Rfr(b))/(1 c(b)), donde c(b) puede ser la diferencia de nivel entre canales (ILD(b)) o una función de la ILD(b) (por ejemplo, c(b) = 10A(ILD(b)/20)). El canal lateral 234 se proporciona a la unidad de generación residual 210 y a la unidad de ajuste a escala residual 212. En algunas implementaciones, el canal lateral 234 se proporciona al codificador de canal residual 216. En algunas implementaciones, el canal residual es el mismo que el canal lateral.
[0056] La unidad de generación residual 210 se configura para generar un canal lateral predicho 236 en base al canal medio 232. El canal lateral predicho 236 corresponde a una predicción del canal lateral 234. Por ejemplo, el canal lateral predicho (S) 236 se puede expresar como S = g*Mfr(b), donde g es una ganancia residual de predicción calculada para cada banda de parámetros y es una función de las ILD. La unidad de generación residual 210 se configura además para generar un canal residual 238 en base al canal lateral 234 y al canal lateral predicho 236. Por ejemplo, el canal residual (e) 238 puede ser una señal de error que se expresa como e = Sfr(b) - S = Sfr(b) - g*Mfr(b). De acuerdo con algunas implementaciones, el canal lateral predicho 236 puede ser igual a cero (o es posible que no se estime) en determinadas bandas de frecuencia. Por tanto, en algunos supuestos (o bandas de frecuencia), el canal residual 238 es el mismo que el canal lateral 234. El canal residual 238 se proporciona a la unidad de ajuste a escala residual 212. De acuerdo con algunas implementaciones, el mezclador descendente 208 genera el canal residual 238 en base al canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230.
[0057] Si el valor de desfase entre canales 228 entre el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia 226 satisface un umbral (por ejemplo, es relativamente grande), las ventanas de análisis y las ventanas de síntesis usadas para la estimación del parámetro DFT se pueden desfasar sustancialmente. Si una de las ventanas se desplaza causalmente y la otra ventana se desplaza no causalmente, un gran desfase temporal es más flexible. Sin embargo, si el canal objetivo en el dominio de la frecuencia 226 es el único canal desplazado en base al valor de desfase entre canales 228, el canal medio 232 y el canal lateral 234 pueden demostrar un incremento en el ruido entre armónicos o una fuga espectral. El ruido entre armónicos es más dominante en el canal lateral 234 cuando la rotación de ventana es relativamente grande (por ejemplo, mayor de 2 milisegundos). Como resultado, la unidad de ajuste a escala residual 212 ajusta a escala (por ejemplo, atenúa) el canal residual 238 antes de la codificación.
[0058] A modo ilustrativo, la unidad de ajuste a escala residual 212 se configura para determinar un factor de ajuste a escala 240 para el canal residual 238 en base al valor de desfase entre canales 228. Cuanto mayor sea el valor de desfase entre canales 228, mayor será el factor de ajuste a escala 240 (por ejemplo, más se atenuará el canal residual 238). De acuerdo con una implementación, el factor de ajuste a escala (fac_att) 240 se determina usando el siguiente pseudocódigo:
fac att = 1.0f;
if (fabs(hStereoDft - >itd[k offset]) > 80.0f)
{
fac att = min(1.0f, max(0.2f, 2.6f - 0.02f*fabs(hStereoDft - >itd[1]))); }
pDFT RES[2*i] *= fac_att;
pDFT RES[2*i+1] *= fac_att;
Por tanto, el factor de ajuste a escala 240 se puede determinar en base a que el valor de desfase entre canales 228 (por ejemplo, itd[k_offset]) sea mayor que un umbral (por ejemplo, 80). La unidad de ajuste a escala residual 212 se configura además para ajustar a escala el canal residual 238 en el factor de ajuste a escala 240 para generar un canal residual ajustado a escala 242. Por tanto, la unidad de ajuste a escala residual 212 atenúa el canal residual 238 (por ejemplo, la señal de error) si el valor de desfase entre canales 228 es sustancialmente grande, porque el canal lateral 234 demuestra una gran cantidad de fuga espectral en algunos supuestos. El canal residual ajustado a escala 242 se proporciona al codificador de canal residual 216.
[0059] De acuerdo con algunas implementaciones, la unidad de ajuste a escala residual 212 se configura para determinar un parámetro de ganancia residual en base al valor de desfase entre canales 228. La unidad de ajuste a escala residual 212 también se puede configurar para poner a cero una o más bandas del canal residual 238 en base al valor de desfase entre canales 228. De acuerdo con una implementación, la unidad de ajuste a escala residual 212 se configura para poner a cero (o sustancialmente poner a cero) cada banda del canal residual 238 en base al valor de desfase entre canales 228.
[0060] El codificador de canal medio 214 se configura para codificar el canal medio 232 para generar un canal medio codificado 244. El canal medio codificado 244 se proporciona a un multiplexor (MUX) 218. El codificador de canal residual 216 se configura para codificar el canal residual ajustado a escala 242, el canal residual 238 o el canal lateral 234 para generar un canal residual codificado 246. El canal residual codificado 246 se proporciona al multiplexor 218. El multiplexor 218 puede combinar el canal medio codificado 244 y el canal residual codificado 246 como parte de un flujo de bits 248A. De acuerdo con una implementación, el flujo de bits 248A corresponde a (o se incluye en) el flujo de bits 248 de la FIG. 1.
[0061] De acuerdo con una implementación, el codificador de canal residual 216 se configura para establecer un número de bits usados para codificar el canal residual ajustado a escala 242 en el flujo de bits 248A en base al valor de desfase entre canales 228. El codificador de canal residual 216 puede comparar el valor de desfase entre canales 228 con un umbral. Si el valor de desfase entre canales es menor que o igual al umbral, se usa un primer número de bits para codificar el canal residual ajustado a escala 242. Si el valor de desfase entre canales 228 es mayor que el umbral, se usa un segundo número de bits para codificar el canal residual ajustado a escala 242. El segundo número de bits es diferente del primer número de bits. Por ejemplo, el segundo número de bits es menor que el primer número de bits.
[0062] En referencia de nuevo a la FIG. 1, el codificador estéreo "flexible" adaptable a la señal 109 puede transformar uno o más canales en el dominio del tiempo (por ejemplo, el canal de referencia 220 y el canal objetivo 222) en canales en el dominio de la frecuencia (por ejemplo, el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia 226). Por ejemplo, el codificador estéreo "flexible" adaptable a la señal 109 puede realizar una primera operación de transformada en el canal de referencia 222 para generar el canal de referencia en el dominio de la frecuencia 224. Adicionalmente, el codificador estéreo "flexible" adaptable a la señal 109 puede realizar una segunda operación de transformada en una versión ajustada del canal objetivo 222 (por ejemplo, el canal objetivo 222 desplazado en el dominio del tiempo en un equivalente del valor de desfase entre canales 228) para generar el canal objetivo en el dominio de la frecuencia ajustado 230.
[0063] El codificador estéreo "flexible" adaptable a la señal 109 se configura además para determinar si realizar una segunda operación de desplazamiento temporal (por ejemplo, no causal) en el canal objetivo en el dominio de la frecuencia ajustado 230 en el dominio de transformada en base a la primera operación temporal operación de desplazamiento para generar un canal objetivo en el dominio de la frecuencia ajustado modificado (no mostrado). El canal objetivo en el dominio de la frecuencia ajustado modificado puede corresponder al canal objetivo 222 desplazado en un valor de desfase temporal y un segundo valor de desplazamiento temporal. Por ejemplo, el codificador 114 puede desplazar el canal objetivo 222 en el valor de desfase temporal para generar la versión ajustada del canal objetivo 222, el codificador estéreo "flexible" adaptable a la señal 109 puede realizar la segunda operación de transformada en la versión ajustada del canal objetivo 122 para generar el canal objetivo en el dominio de la frecuencia ajustado, y el codificador estéreo "flexible" adaptable a la señal 109 puede desplazar temporalmente el canal objetivo en el dominio de la frecuencia ajustado en el dominio de transformada.
[0064] Los canales en el dominio de la frecuencia 224, 226 se pueden usar para estimar parámetros de estéreo 162 (por ejemplo, parámetros que posibilitan la representación de propiedades espaciales asociadas con los canales en el dominio de la frecuencia 224, 226). Los ejemplos de los parámetros 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 IPD, parámetros de correlación entre canales (ICC), 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, etc. Los parámetros de estéreo 162 también se pueden transmitir como parte del flujo de bits 248.
[0065] De manera similar a como se describe con respecto a la FIG. 2, el codificador "flexible" adaptable a la señal 109 puede predecir una SPRED(b) de canal lateral a partir del canal medio Mfr(b) usando la información en el canal de banda media Mfr(b) y los parámetros de estéreo 162 (por ejemplo, las ILD) correspondientes a la banda (b). Por ejemplo, la banda lateral predicha SPRED(b) se puede expresar como Mtr(b)*(ILD(b)-1 )/(ILD(b)+1). Una señal de error (e) se puede calcular como función del canal de banda lateral Sfr y la banda lateral predicha Spred. Por ejemplo, la señal de error e se puede expresar como Sfr-SpRED. La señal de error (e) se puede codificar 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 eCODIFICADA. Para determinadas bandas, la señal de error e se puede expresar como una versión ajustada a escala de un canal de banda media M_PASTfr en las bandas de una trama previa. Por ejemplo, la señal de error codificada eCODIFICADA se puede expresar como gpRED*M_PASTfr, donde, en algunas implementaciones, gpRED se puede estimar de modo que una energía de egpRED*M_PASTfr se reduce sustancialmente (por ejemplo, se minimiza). La trama M_PAST que se usa se puede basar en la conformación de ventana usada para el análisis/síntesis y se puede restringir para usar solo saltos de ventana uniformes.
[0066] De manera similar a como se describe con respecto a la FIG. 2, la unidad de ajuste a escala residual 212 se puede configurar para ajustar, modificar o codificar el canal residual (por ejemplo, canal lateral o canal de error) en base al valor de desfase entre canales 228 entre el canal objetivo en el dominio de la frecuencia 226 y el canal de referencia en el dominio de la frecuencia 224 para reducir el ruido entre armónicos introducido por los efectos de ventana en la codificación de estéreo DFT. A modo ilustrativo, en un ejemplo, la unidad de ajuste a escala residual 212 atenúa el canal residual (por ejemplo, aplicando una ganancia al canal lateral o aplicando una ganancia al canal de error) antes de generar un flujo de bits para su transmisión. El canal residual se puede atenuar completamente, por ejemplo, poner a cero, o solo atenuar parcialmente.
[0067] Como otro ejemplo, se puede modificar un número de bits usados para codificar el canal residual en el flujo de bits. Por ejemplo, cuando la desalineación temporal entre el canal objetivo y el canal de referencia es pequeña (por ejemplo, por debajo de un umbral), se puede adjudicar un primer número de bits para la transmisión de información de canal residual. Sin embargo, cuando la desalineación temporal entre el canal objetivo y el canal de referencia es grande (por ejemplo, un umbral mayor), se puede adjudicar un segundo número de bits para la transmisión de información de canal residual. El segundo número es más pequeño que el primer número.
[0068] El descodificador 118 puede realizar operaciones de descodificación en base a los parámetros de estéreo 162, el canal residual codificado 246 y el canal medio codificado 244. Por ejemplo, la información de IPD incluida en los parámetros de estéreo 162 puede indicar si el descodificador 118 va a usar los parámetros de IPD. El descodificador 118 puede generar un primer canal y un segundo canal en base al flujo de bits 248 y la determinación. Por ejemplo, el descodificador estéreo de dominio de la frecuencia 125 y el equilibrador temporal 124 pueden realizar una mezcla ascendente para generar un primer canal de salida 126 (por ejemplo, correspondiente al canal de referencia 220), un segundo canal de salida 128 (por ejemplo, correspondiente al canal objetivo 222) o ambos. El segundo dispositivo 106 puede emitir el primer canal de salida 126 por medio del primer altavoz 142. El segundo dispositivo 106 puede emitir el segundo canal de salida 128 por medio del segundo altavoz 144. En ejemplos alternativos, el primer canal de salida 126 y el segundo canal de salida 128 se pueden transmitir como un par de señales de estéreo a un único altavoz de salida.
[0069] Cabe destacar que la unidad de ajuste a escala residual 212 realiza modificaciones en el canal residual 238 estimado por la unidad de generación residual 210 en base al valor de desfase entre canales 228. El codificador de canal residual 216 codifica el canal residual ajustado a escala 242 (por ejemplo, la señal residual modificada), y el flujo de bits codificado 248A se transmite al descodificador. En determinadas implementaciones, la unidad de ajuste a escala residual 212 puede residir en el descodificador y las operaciones de la unidad de ajuste a escala residual 212 se pueden omitir en el codificador. Esto es posible porque el valor de desfase entre canales 228 está disponible en el descodificador porque el valor de desfase entre canales 228 se codifica y transmite al descodificador como parte de los parámetros de estéreo 162. En base al valor de desfase entre canales 228 disponible en el descodificador, una unidad de ajuste a escala residual que reside en el descodificador puede realizar las modificaciones en el canal residual descodificado.
[0070] Las técnicas descritas con respecto a las FIGS. 1 -2 pueden ajustar, modificar o codificar el canal residual (por ejemplo, el canal lateral o canal de error) en base al valor de desalineación o desfase temporal entre el canal objetivo 222 y el canal de referencia 220 para reducir el ruido entre armónicos introducido por los efectos de ventana en la codificación de estéreo DFT. Por ejemplo, para reducir la introducción de artefactos que se pueden provocar por efectos de ventana en la codificación de estéreo DFT, el canal residual se puede atenuar (por ejemplo, se aplica una ganancia), una o más bandas del canal residual se pueden poner a cero, un número de los bits usados para codificar el canal residual se pueden ajustar o una combinación de los mismos.
[0071] Como ejemplo de atenuación, el factor de atenuación como función del valor de desfase se puede expresar usando la siguiente ecuación:
factor atenuación = 2,6 - 0,02 * |valor de desfase!
Además, el factor de atenuación (por ejemplo, el factor de atenuación) calculado de acuerdo con la ecuación anterior se puede recortar (o saturar) para permanecer dentro de un intervalo. Como ejemplo, el factor de atenuación se puede recortar para permanecer dentro de los límites de 0,2 y 1,0.
[0072] En referencia a la FIG. 3, se muestra otro ejemplo de un codificador 114B. El codificador 114B puede corresponder al codificador 114 de la FIG. 1. Por ejemplo, los componentes descritos en la FIG. 3 se pueden integrar en el codificador estéreo "flexible" adaptable a la señal 109. También se ha de entender que los diversos componentes ilustrados en la FIG. 3 (por ejemplo, transformadas, generadores de señales, codificadores, modificadores, etc.) se pueden implementar usando hardware (por ejemplo, circuitería dedicada), software (por ejemplo, instrucciones ejecutadas por un procesador) o una combinación de los mismos.
[0073] El canal de referencia 220 y un canal objetivo ajustado 322 se proporcionan a una unidad de transformada 302. El canal objetivo ajustado 322 se puede generar ajustando temporalmente el canal objetivo 222 en el dominio del tiempo en un equivalente del valor de desfase entre canales 228. Por tanto, el canal objetivo ajustado 322 está sustancialmente alineado con el canal de referencia 220. La unidad de transformada 302 puede realizar una primera operación de transformada en el canal de referencia 220 para generar el canal de referencia en el dominio de la frecuencia 224, y la unidad de transformada 302 puede realizar una segunda transformada en el canal objetivo ajustado 322 para generar el canal objetivo en el dominio de la frecuencia ajustado 230.
[0074] Por tanto, la unidad de transformada 302 puede generar canales en el dominio de la frecuencia (o dominio de subbanda o núcleo de banda baja filtrada y ampliación de ancho de banda de banda alta). Como ejemplos no limitantes, la unidad de transformada 302 puede realizar operaciones de DFT, operaciones de FFT, operaciones de MDCT, etc. De acuerdo con algunas implementaciones, se pueden usar operaciones con banco de filtros espejos en cuadratura (QMF) (que usan bandas de filtro, tales como un banco de filtros de retraso bajo complejo) para separar los canales de entrada 220, 322 en múltiples subbandas. El codificador estéreo "flexible" adaptable a la señal 109 se configura además para determinar si realizar una segunda operación de desplazamiento temporal (por ejemplo, no causal) en el canal objetivo en el dominio de la frecuencia ajustado 230 en el dominio de transformada en base a la primera operación de desplazamiento temporal para generar un canal objetivo en el dominio de la frecuencia ajustado modificado. El canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230 se proporcionan a un estimador de parámetros de estéreo 306 y a un mezclador descendente 307.
[0075] El estimador de parámetros de estéreo 206 puede extraer (por ejemplo, generar) los parámetros de estéreo 162 en base al canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230. A modo ilustrativo, 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) se puede expresar como 20*log10(Ei_(b)/ ER(b)). Las IPD estimadas y transmitidas 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). Los parámetros de estéreo 162 pueden incluir parámetros adicionales (o alternativos), tales como las ICC, las ITD, etc. Los parámetros de estéreo 162 se pueden transmitir al segundo dispositivo 106 de la FIG. 1, proporcionar a un mezclador descendente 207 (por ejemplo, un generador de canal lateral 308) o ambos. En algunas implementaciones, los parámetros de estéreo 162 se pueden proporcionar opcionalmente a un codificador de canal lateral 310.
[0076] Los parámetros de estéreo 162 se pueden proporcionar a un ajustador (o modificador) de ITD, de IPD 350. En algunas implementaciones, el ajustador (o modificador) de ITD, de IPD 350 puede generar una IPD' modificada o una ITD' modificada. Adicionalmente o de forma alternativa, el ajustador (o modificador) de ITD, de IPD 350 puede determinar una ganancia residual (por ejemplo, un valor de ganancia residual) que se va a aplicar a una señal residual (por ejemplo, un canal lateral). En algunas implementaciones, el ajustador (o modificador) de ITD, de IPD 350 también puede determinar un valor de un indicador de IPD. Un valor de indicador de IPD indica si los valores de IPD para una o más bandas se han de descartar o ponerse a cero o no. Por ejemplo, los valores de IPD para una o más bandas se pueden descartar o ponerse a cero cuando se afirma el indicador de IPD.
[0077] El ajustador (o modificador) de ITD, de IPD 350 puede proporcionar la IPD' modificada, la ITD' modificada, el indicador de IPD, la ganancia residual o una combinación de los mismos, al mezclador descendente 307 (por ejemplo, el generador de canal lateral 308). El ajustador (o modificador) de ITD, de IPD 350 puede proporcionar la ITD, el indicador de IPD, la ganancia residual o una combinación de los mismos, al modificador de canal lateral 330. El ajustador (o modificador) de ITD, de IPD 350 puede proporcionar la ITD, los valores de IPD, el indicador de IPD o una combinación de los mismos, al codificador de canal lateral 310.
[0078] El canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230 se pueden proporcionar al mezclador descendente 307. El mezclador descendente 307 incluye un generador de canal medio 312 y el generador de canal lateral 308. De acuerdo con algunas implementaciones, los parámetros de estéreo 162 también se pueden proporcionar al generador de canal medio 312. El generador de canal medio 312 puede generar el canal medio Mfr(b) 232 en base al canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230. De acuerdo con algunas implementaciones, el canal medio 232 también se puede generar en base a los parámetros de estéreo 162. Algunos procedimientos de generación del canal medio 232 en base al canal de referencia en el dominio de la frecuencia 224, el canal objetivo en el dominio de la frecuencia ajustado 230 y los parámetros de estéreo 162 son como sigue, incluyen Mfr(b) = (Lfr(b) Rfr(b))/2 o Mfr(b) = c1 (b)*Lfr(b) c2*Rfr(b), donde c1(b) y c2(b) son valores complejos. En algunas implementaciones, los valores complejos ci(b) y C2(b) se basan en los parámetros de estéreo 162. Por ejemplo, en una implementación de mezcla descendente de lateral medio cuando se estiman las IPD, c1(b) = (cos(-y) - fsin(-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.
[0079] El canal medio 232 se proporciona a un sintetizador de DFT 313. El sintetizador de DFT 313 proporciona una salida a un codificador de canal medio 316. Por ejemplo, el sintetizador de DFT 313 puede sintetizar el canal medio 232. El canal medio sintetizado se puede proporcionar al canal medio 316. El codificador de canal medio 316 puede generar el canal medio codificado 244 en base al canal medio sintetizado.
[0080] El generador de canal lateral 308 puede generar el canal lateral (Sfr(b)) 234 en base al canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230. El canal lateral 234 se puede estimar en el dominio de la frecuencia. En cada banda, el parámetro de ganancia (g) puede ser diferente y se puede basar en las diferencias de nivel intercanal (por ejemplo, en base a los parámetros de estéreo 162). Por ejemplo, el canal lateral 234 se puede expresar como (Lfr(b) - c(b)* Rfr(b))/(1+c(b)), donde c(b) puede ser la ILD(b) o una función de la ILD(b) (por ejemplo, c(b) = 10A(ILD(b)/20)). El canal lateral 234 se puede proporcionar a un canal lateral 330. El modificador de canal lateral 330 también recibe ITD, un indicador de IPD, una ganancia residual o una combinación de los mismos, desde el ajustador de ITD, de IPD 350. El modificador de canal lateral 330 genera un canal lateral modificado en base al canal lateral 234, el canal medio en el dominio de la frecuencia y uno o más de ITD, indicador de IPD o la ganancia residual.
[0081] El canal lateral modificado se proporciona a un sintetizador de DFT 332 para generar un canal lateral sintetizado. El canal lateral sintetizado se proporciona al codificador de canal lateral 310. El codificador de canal lateral 310 genera el canal residual codificado 246 en base a los parámetros de estéreo 162 recibidos desde la DFT y la ITD, los valores de IPD o el indicador de IPD recibidos desde el ajustador de ITD, de IPD 350. En algunas implementaciones, el codificador de canal lateral 310 recibe una señal de activación/desactivación de codificación residual 354 y genera selectivamente el canal residual codificado 246 en base a la señal de activación/desactivación de codificación residual 354. A modo ilustrativo, cuando la señal de activación/desactivación de codificación residual 354 indica que la codificación residual está desactivada, es posible que el codificador de canal lateral 310 no genere el canal lateral codificado 246 para una o más bandas de frecuencia.
[0082] El multiplexor 352 se configura para generar un flujo de bits 248B en base al canal medio codificado 244, el canal residual codificado 246 o ambos. En algunas implementaciones, el multiplexor 352 recibe los parámetros de estéreo 162 y genera el flujo de bits 248B en base a los parámetros de estéreo 162. El flujo de bits 248B puede corresponder al flujo de bits 248 de la FIG. 1.
[0083] En referencia a la FIG. 4, se muestra un ejemplo de un descodificador 118A. El descodificador 118A puede corresponder al descodificador 118 de la FIG. 1. El flujo de bits 248 se proporciona a un desmultiplexor (DESMUX) 402 del descodificador 118A. El flujo de bits 248 incluye los parámetros de estéreo 162, el canal medio codificado 244 y el canal residual codificado 246. El desmultiplexor 402 se configura para extraer el canal medio codificado 244 del flujo de bits 248 y para proporcionar el canal medio codificado 244 a un descodificador de canal medio 404. El desmultiplexor 402 también se configura para extraer el canal residual codificado 246 y los parámetros de estéreo 162 del flujo de bits 248. El canal residual codificado 246 y los parámetros de estéreo 162 se proporcionan a un descodificador de canal lateral 406.
[0084] El canal residual codificado 246, los parámetros de estéreo 162 o ambos, se proporcionan a un ajustador de ITD, de IPD 468. El ajustador de ITD, de IPD 468 se configura para generar identificar un valor de indicador de IPD incluido en el flujo de bits 248 (por ejemplo, canal residual codificado 246 o los parámetros de estéreo 162). El indicador de IPD puede proporcionar una indicación como se describe con referencia a la FIG. 3. Adicionalmente, o de forma alternativa, el indicador de IPD puede indicar si el descodificador 118A va a procesar o descartar la información de señal residual recibida para una o más bandas o no. En base al valor del indicador de IPD (por ejemplo, si el indicador se afirma o no se afirma), el ajustador de ITD, de IPD 468 se configura para ajustar una IPD, ajustar una ITD o ambos.
[0085] El descodificador de canal medio 404 se puede configurar para descodificar el canal medio codificado 244 para generar un canal medio (mcoDIFICADo(t)) 450. Si el canal medio 450 es una señal en el dominio del tiempo, se puede aplicar una transformada 408 al canal medio 450 para generar un canal medio en el dominio de la frecuencia (McoDIFICADo(b)) 452. El canal medio en el dominio de la frecuencia 452 se puede proporcionar a un mezclador ascendente 410. Sin embargo, si el canal medio 450 es una señal en el dominio de la frecuencia, el canal medio 450 se puede proporcionar directamente al mezclador ascendente 410.
[0086] El descodificador de canal lateral 406 puede generar un canal lateral (ScoDIFICADo(b)) 454 en base al canal residual codificado 246 y los parámetros de estéreo 162. Por ejemplo, el error (e) se puede descodificar para las bandas bajas y las bandas altas. El canal lateral 454 se puede expresar como SPRED(b) ecoDIFICADo(b), donde SPRED(b) = MCoDIFICADo(b)*(ILD(b)-1 )/(ILD(b)+1). En algunas implementaciones, el descodificador de canal lateral 406 genera el canal lateral 454 en base, además, al indicador de IPD. Se puede aplicar una transformada 456 al canal lateral 454 para generar un canal lateral en el dominio de la frecuencia (SCoDIFICADo(b)) 455. El canal lateral en el dominio de la frecuencia 455 también se puede proporcionar al mezclador ascendente 410.
[0087] El mezclador ascendente 410 puede realizar una operación de mezcla ascendente en el canal medio 452 y el canal lateral 455. Por ejemplo, el mezclador ascendente 410 puede generar un primer canal de mezcla ascendente (Lfr) 456 y un segundo canal de mezcla ascendente (Rfr) 458 en base al canal medio 452 y al canal lateral 455. Por tanto, en el ejemplo descrito, la primera señal de mezcla ascendente 456 puede ser una señal del canal izquierdo, y la segunda señal de mezcla ascendente 458 puede ser una señal del canal derecho. La primera señal de mezcla ascendente 456 se puede expresar como Mcodificado^ S codificado^ ) , y la segunda señal de mezcla ascendente 458 se puede expresar como Mcodificado^ - S codificado^ ).
[0088] Se realiza una síntesis, operación de ventana 457 en la primera señal de mezcla ascendente 456 para generar una primera señal de mezcla ascendente sintetizada 460. La primera señal de mezcla ascendente sintetizada 460 se proporciona a un alineador entre canales 464. Se realiza una síntesis, operación de ventana 416 en la segunda señal de mezcla ascendente 458 para generar una segunda señal de mezcla ascendente sintetizada 466. La segunda señal de mezcla ascendente sintetizada 466 se proporciona a un alineador entre canales 464. El alineador entre canales 464 puede alinear la primera señal de mezcla ascendente sintetizada 460 y la segunda señal de mezcla ascendente sintetizada 466 para generar una primera señal de salida 470 y una segunda señal de salida 472.
[0089] Cabe destacar que el codificador 114A de la FIG. 2, el codificador 114B de la FIG. 3 y el descodificador 118A de la FIG. 4 puede incluir una parte, pero no la totalidad, de un marco codificador o descodificador. Por ejemplo, el codificador 114A de la FIG. 2, el codificador 114B de la FIG. 3, el descodificador 118A de la FIG. 4 o una combinación de los mismos, también puede incluir una ruta paralela de procesamiento de banda alta (HB). Adicionalmente, o de forma alternativa, en algunas implementaciones, se puede realizar una mezcla descendente en el dominio del tiempo en los codificadores 114A, 114B. Adicionalmente, o de forma alternativa, una mezcla ascendente en el dominio del tiempo puede seguir al descodificador 118A de la FIG. 4 para obtener los canales izquierdo y derecho compensados por desplazamiento del descodificador.
[0090] En referencia a la FIG. 5, se muestra un procedimiento 500 de comunicación. El procedimiento 500 se puede realizar por el primer dispositivo 104 de la FIG. 1, el codificador 114 de la FIG. 1, el codificador 114A de la FIG. 2, el codificador 114B de la FIG. 3 o una combinación de los mismos.
[0091] El procedimiento 500 incluye realizar, en un codificador, una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia, en 502. Por ejemplo, en referencia a la FIG. 2, la unidad de transformada 202 realiza la primera operación de transformada en el canal de referencia 220 para generar el canal de referencia en el dominio de la frecuencia 224. La primera operación de transformada puede incluir operaciones de DFT, operaciones de FFT, operaciones de MDCT, etc.
[0092] El procedimiento 500 también incluye realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia, en 504. Por ejemplo, en referencia a la FIG. 2, la unidad de transformada 204 realiza la segunda operación de transformada en el canal objetivo 222 para generar el canal objetivo en el dominio de la frecuencia 226. La segunda operación de transformada puede incluir operaciones de DFT, operaciones de FFT, operaciones de MDCT, etc.
[0093] El procedimiento 500 también incluye determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia, en 506. Por ejemplo, en referencia a la FIG. 2, la unidad de ajuste de canal estéreo 206 determina el valor de desfase entre canales 228 que es indicativo de la desalineación temporal entre el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia 226. Por tanto, el valor de desfase entre canales 228 puede ser un parámetro de diferencia de tiempo entre canales (ITD) que indica (en un dominio de la frecuencia) cuánto se rezaga el canal objetivo 222 con respecto al canal de referencia 220.
[0094] El procedimiento 500 también incluye ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado, en 508. Por ejemplo, en referencia a la FIG. 2, la unidad de ajuste de canal estéreo 206 ajusta el canal objetivo en el dominio de la frecuencia 226 en base al valor de desfase entre canales 228 para generar el canal objetivo en el dominio de la frecuencia ajustado 230. A modo ilustrativo, la unidad de ajuste de canal estéreo 206 desplaza el canal objetivo en el dominio de la frecuencia 226 en el valor de desfase entre canales 228 para generar el canal objetivo en el dominio de la frecuencia ajustado 230 que está sincronizado temporalmente con el canal de referencia en el dominio de la frecuencia 224.
[0095] El procedimiento 500 también incluye realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral, en 510. Por ejemplo, en referencia a la FIG. 2, el mezclador descendente 208 realiza la operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia 224 y el canal objetivo en el dominio de la frecuencia ajustado 230 para generar un canal medio 232 y un canal lateral 234. El canal medio (Mfr(b)) 232 puede ser una función del canal de referencia en el dominio de la frecuencia (Lfr(b)) 224 y el canal objetivo en el dominio de la frecuencia ajustado (Rfr(b)) 230. Por ejemplo, el canal medio (Mfr(b)) 232 se puede expresar como Mfr(b) = (Lfr(b) Rfr(b))/2. El canal lateral (Sfr(b)) 234 también puede ser una función del canal de referencia en el dominio de la frecuencia (Lfr(b)) 224 y el canal objetivo en el dominio de la frecuencia ajustado (Rfr(b)) 230. Por ejemplo, el canal lateral (Sfr(b)) 234 se puede expresar como Sfr(b) = (Lfr(b) - Rfr(b))/2.
[0096] El procedimiento 500 también incluye generar un canal lateral predicho en base al canal medio, en 512. El canal lateral predicho corresponde a una predicción del canal lateral. Por ejemplo, en referencia a la FIG. 2, la unidad de generación residual 210 genera el canal lateral predicho 236 en base al canal medio 232. El canal lateral predicho 236 corresponde a una predicción del canal lateral 234. Por ejemplo, el canal lateral predicho (S) 236 se puede expresar como S = g*Mfr(b), donde g es una ganancia residual de predicción calculada para cada banda de parámetros y es una función de las ILD.
[0097] El procedimiento 500 también incluye generar un canal residual en base al canal lateral y el canal lateral predicho, en 514. Por ejemplo, en referencia a la FIG. 2, la unidad de generación residual 210 genera el canal residual 238 en base al canal lateral 234 y al canal lateral predicho 236. Por ejemplo, el canal residual (e) 238 puede ser una señal de error que se expresa como e = Sfr(b) - S = Sfr(b) - g*Mfr(b).
[0098] El procedimiento 500 también incluye determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales, en 516. Por ejemplo, en referencia a la FIG. 2, la unidad de ajuste a escala residual 212 determina el factor de ajuste a escala 212 para el canal residual 238 en base al valor de desfase entre canales 228. Cuanto mayor sea el valor de desfase entre canales 228, mayor será el factor de ajuste a escala 240 (por ejemplo, más se atenuará el canal residual 238).
[0099] El procedimiento 500 también incluye ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala, en 518. Por ejemplo, en referencia a la FIG. 2, la unidad de ajuste a escala residual 212 ajusta a escala el canal residual 238 en el factor de ajuste a escala 240 para generar un canal residual ajustado a escala 242. Por tanto, la unidad de ajuste a escala residual 212 atenúa el canal residual 238 (por ejemplo, la señal de error) si el valor de desfase entre canales 228 es sustancialmente grande, porque el canal lateral 234 demuestra una gran cantidad de fuga espectral.
[0100] El procedimiento 500 también incluye codificar el canal medio y el canal residual ajustado a escala como parte de un flujo de bits, en 520. Por ejemplo, en referencia a la FIG. 2, el codificador de canal medio codifica 214 el canal medio 232 para generar el canal medio codificado 244, y el codificador de canal residual 216 codifica el canal residual ajustado a escala 242 o el canal lateral 234 para generar el canal residual codificado 246. El multiplexor 218 combina el canal medio codificado 244 y el canal residual codificado 246 como parte de un flujo de bits 248A.
[0101] El procedimiento 500 puede ajustar, modificar o codificar el canal residual (por ejemplo, canal lateral o canal de error) en base al valor de desalineación o desfase temporal entre el canal objetivo 222 y el canal de referencia 220 para reducir el ruido entre armónicos introducido por los efectos de ventana en la codificación de estéreo DFT. Por ejemplo, para reducir la introducción de artefactos que se pueden provocar por efectos de ventana en la codificación de estéreo DFT, el canal residual se puede atenuar (por ejemplo, se aplica una ganancia), una o más bandas del canal residual se pueden poner a cero, un número de los bits usados para codificar el canal residual se pueden ajustar o una combinación de los mismos.
[0102] En referencia a la FIG. 6, se muestra un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo 600 (por ejemplo, un dispositivo de comunicación inalámbrica). En diversos modos de realización, el dispositivo 600 puede tener menos o más componentes de los que se ilustran en la FIG. 6. En un modo de realización ilustrativo, el dispositivo 600 puede corresponder al primer dispositivo 104 de la FIG. 1, al segundo dispositivo 106 de la FIG. 1 o a una combinación de los mismos. En un modo de realización ilustrativo, el dispositivo 600 puede realizar una o más operaciones descritas con referencia a sistemas y procedimientos de las FIGS. 1-5.
[0103] En un modo de realización particular, el dispositivo 600 incluye un procesador 606 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 600 puede incluir uno o más procesadores 610 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). El procesador 610 puede incluir un codificadordescodificador (CÓDEC) de medios (por ejemplo, voz y música) 608 y un cancelador de eco 612. El CÓDEC de medios 608 puede incluir el descodificador 118, el codificador 114 o una combinación de los mismos. El codificador 114 puede incluir la unidad de generación residual 210 y la unidad de ajuste a escala residual 212.
[0104] El dispositivo 600 puede incluir la memoria 153 y un CÓDEC 634. Aunque el CÓDEC de medios 608 se ilustra como un componente de los procesadores 610 (por ejemplo, circuitería dedicada y/o código de programación ejecutable), en otros modos de realización uno o más componentes del CÓDEC de medios 608, tal como el descodificador 118, el codificador 114 o una combinación de los mismos, se pueden incluir en el procesador 606, el CÓDEC 634, otro componente de procesamiento o una combinación de los mismos.
[0105] El dispositivo 600 puede incluir el transmisor 110 acoplado a una antena 642. El dispositivo 600 puede incluir una pantalla 628 acoplada a un controlador de pantalla 626. Se pueden acoplar uno o más altavoces 648 al CÓDEC 634. Se pueden acoplar uno o más micrófonos 646, por medio de la(s) interfaz/interfaces de entrada 112, al CÓDEC 634. En una implementación particular, los altavoces 648 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 646 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 634 puede incluir un convertidor de digital a analógico (DAC) 602 y un convertidor de analógico a digital (ADC) 604.
[0106] La memoria 153 puede incluir instrucciones 660 ejecutables por el procesador 606, el procesador 610, el CÓDEC 634, otra unidad de procesamiento del dispositivo 600 o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a las FIGS. 1-5.
[0107] Uno o más componentes del dispositivo 600 se pueden implementar por medio de hardware dedicado (por ejemplo, circuitería), por un procesador que ejecuta instrucciones para realizar una o más tareas o una combinación de los mismos. Como un ejemplo, la memoria 153 o uno o más componentes del procesador 606, los procesadores 610 y/o el CÓDEC 634 pueden 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 660) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y/o los procesadores 610), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las FIGS.
1-4. Como un ejemplo, la memoria 153 o los uno o más componentes del procesador 606, los procesadores 610 y/o el CÓDEC 634 pueden ser un medio no transitorio legible por ordenador que incluye instrucciones (por ejemplo, las instrucciones 660) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y/o los procesadores 610), hacen que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1-5.
[0108] En un modo de realización particular, el dispositivo 600 se puede incluir en un dispositivo de sistema en paquete o de sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 622. En un modo de realización particular, el procesador 606, los procesadores 610, el controlador de pantalla 626, la memoria 153, el CÓDEC 634 y el transmisor 110 se incluyen en un dispositivo de sistema en paquete o del sistema en chip 622. En un modo de realización particular, un dispositivo de entrada 630, tal como una pantalla táctil y/o un teclado y una fuente de alimentación 644 se acoplan al dispositivo de sistema en chip 622. Además, en un modo de realización particular, como se ilustra en la FIG. 6, la pantalla 628, el dispositivo de entrada 630, los altavoces 648, los micrófonos 646, la antena 642 y la fuente de alimentación 644 son externos al dispositivo de sistema en chip 622. Sin embargo, cada uno de la pantalla 628, el dispositivo de entrada 630, los altavoces 648, los micrófonos 646, la antena 642 y la fuente de alimentación 644 se pueden acoplar a un componente del dispositivo de sistema en chip 622, tal como una interfaz o un controlador.
[0109] El dispositivo 600 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 tableta, 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 localizació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.
[0110] Junto con las técnicas descritas anteriormente, un aparato incluye medios para realizar una primera operación de transformada en un canal de referencia para generar un canal de referencia en el dominio de la frecuencia. Por ejemplo, los medios para realizar la primera operación de transformada pueden incluir la unidad de transformada 202 de las FIGS. 1-2, uno o más componentes del codificador 114B de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0111] El aparato también incluye medios para realizar una segunda operación de transformada en un canal objetivo para generar un canal objetivo en el dominio de la frecuencia. Por ejemplo, los medios para realizar la segunda operación de transformada pueden incluir la unidad de transformada 204 de las FIGS. 1-2, uno o más componentes del codificador 114B de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0112] El aparato también incluye medios para determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia. Por ejemplo, los medios para determinar el valor de desfase entre canales pueden incluir la unidad de ajuste de canal estéreo 206 de las FIGS. 1-2, uno o más componentes del codificador 114B de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0113] El aparato también incluye medios para ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado. Por ejemplo, los medios para ajustar el canal objetivo en el dominio de la frecuencia pueden incluir la unidad de ajuste de canal estéreo 206 de las FIGS. 1-2, uno o más componentes del codificador 114B de la FIG. 3, el procesador 610 de la FIG.
6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0114] El aparato también incluye medios para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral. Por ejemplo, los medios para realizar la operación de mezcla descendente pueden incluir el mezclador descendente 208 de las FIGS. 1-2, el mezclador descendente 307 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0115] El aparato también incluye medios para generar un canal lateral predicho en base al canal medio. El canal lateral predicho corresponde a una predicción del canal lateral. Por ejemplo, los medios para generar el canal lateral predicho pueden incluir la unidad de generación residual 210 de las FIGS. 1-2, el ajustador o modificador de ITD, de IPD 350 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FiG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0116] El aparato también incluye medios para generar un canal residual en base al canal lateral y el canal lateral predicho. Por ejemplo, los medios para generar el canal residual pueden incluir la unidad de generación residual 210 de las FIGS. 1-2, el ajustador o modificador de ITD, de IPD 350 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FiG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0117] El aparato también incluye medios para determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales. Por ejemplo, los medios para determinar el factor de ajuste a escala pueden incluir la unidad de ajuste a escala residual 212 de las FIGS. 1-2, el ajustador o modificador de ITD, de IPD 350 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0118] El aparato también incluye medios para ajustar a escala el canal residual por el factor de ajuste a escala para generar un canal residual ajustado a escala. Por ejemplo, los medios para ajustar a escala el canal residual pueden incluir la unidad de ajuste a escala residual 212 de las FIGS. 1 -2, el modificador de canal lateral 330 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0119] El aparato también incluye medios para codificar el canal medio y el canal residual ajustado a escala como parte de un flujo de bits. Por ejemplo, los medios para codificar pueden incluir el codificador de canal medio 214 de las FIGS. 1-2, el codificador de canal residual 216 de las FIGS. 1-2, el codificador de canal medio 316 de la FIG. 3, el codificador de canal lateral 310 de la FIG. 3, el procesador 610 de la FIG. 6, el procesador 606 de la FIG. 6, el CÓDEC 634 de la FIG. 6, las instrucciones 660 ejecutadas por una o más unidades de procesamiento, uno o más de otros módulos, dispositivos, componentes, circuitos o una combinación de los mismos.
[0120] En una implementación particular, uno o más componentes de los sistemas y dispositivos divulgados en el presente documento se pueden integrar 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 y dispositivos divulgados en el presente documento se pueden integrar en un teléfono inalámbrico, un ordenador de tableta, 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 localización fija, un reproductor multimedia personal u otro tipo de dispositivo.
[0121] En referencia a la FIG. 7, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación base 700. En diversas implementaciones, la estación base 700 puede tener más componentes o menos componentes de los ilustrados en la FIG. 7. En un ejemplo ilustrativo, la estación base 700 puede funcionar de acuerdo con el procedimiento 500 de la FIG. 5.
[0122] La estación base 700 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 LTE de cuarta generación (4G), un sistema de quinta generación (5G), un sistema de acceso múltiple por división de código (CDMA), un sistema de 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 IX, evolución de datos optimizados (EVDO), CDMA síncrono por división de tiempo (TD-SCDMA) o alguna otra versión de CDMA.
[0123] Los dispositivos inalámbricos también se pueden denominar equipo de usuario (UE), estación móvil, terminal, terminal de acceso, unidad de abonado, estación, etc. Los dispositivos inalámbricos pueden incluir un teléfono móvil, un teléfono inteligente, una tableta, un módem inalámbrico, un asistente digital personal (PDA), un dispositivo portátil, un ordenador portátil, un SmartBook, un ordenador plegable, una tableta, 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 al dispositivo 600 de la FIG. 6.
[0124] Se pueden realizar diversas funciones por uno o más componentes de la estación base 700 (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 700 incluye un procesador 706 (por ejemplo, una CPU). La estación base 700 puede incluir un transcodificador 710. El transcodificador 710 puede incluir un CÓDEC de audio 708 (por ejemplo, un CÓDEC de voz y música). Por ejemplo, el transcodificador 710 puede incluir uno o más componentes (por ejemplo, circuitería) configurados para realizar operaciones del CÓDEC de audio 708. Como otro ejemplo, el transcodificador 710 se configura para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CÓDEC de audio 708. Aunque se ilustra el CÓDEC de audio 708 como un componente del transcodificador 710, en otros ejemplos se pueden incluir uno o más componentes del CÓDEC de audio 708 en el procesador 706, otro componente de procesamiento o una combinación de los mismos. Por ejemplo, el descodificador 118 (por ejemplo, un descodificador de codificador de voz) se puede incluir en un procesador de datos de receptor 764. Como otro ejemplo, el codificador 114 (por ejemplo, un codificador de codificador de voz) se puede incluir en un procesador de transmisión de datos 782.
[0125] El transcodificador 710 puede funcionar para transcodificar mensajes y datos entre dos o más redes. El transcodificador 710 se configura 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 118 puede descodificar señales codificadas que tienen un primer formato y el codificador 114 puede codificar las señales descodificadas en señales codificadas que tienen un segundo formato. Adicionalmente o de forma alternativa, el transcodificador 710 se configura para realizar la adaptación de la velocidad de transferencia de datos. Por ejemplo, el transcodificador 710 puede reducir una velocidad de transferencia de datos o aumentar la velocidad de transferencia de datos sin cambiar un formato de los datos de audio. A modo ilustrativo, el transcodificador 710 puede reducir las señales de 64 kbit/s en señales de 16 kbit/s. El CÓDEC de audio 708 puede incluir el codificador 114 y el descodificador 118. El descodificador 118 puede incluir el acondicionador de parámetros de estéreo 618.
[0126] La estación base 700 incluye una memoria 732. La memoria 732 (un ejemplo de 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 706, el transcodificador 710 o una combinación de los mismos, para realizar el procedimiento 500 de la FIG. 5. La estación base 700 puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tales como un primer transceptor 752 y un segundo transceptor 754, acoplados a una formación de antenas. La formación de antenas puede incluir una primera antena 742 y una segunda antena 744. La formación de antenas se configura para comunicarse de forma inalámbrica con uno o más dispositivos inalámbricos, tal como el dispositivo 600 de la FIG. 6. Por ejemplo, la segunda antena 744 puede recibir un flujo de datos 714 (por ejemplo, un flujo de bits) desde un dispositivo inalámbrico. El flujo de datos 714 puede incluir mensajes, datos (por ejemplo, datos de voz codificados) o una combinación de los mismos.
[0127] La estación base 700 puede incluir una conexión de red 760, tal como una conexión de red de retorno. La conexión de red 760 se configura 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 700 puede recibir un segundo flujo de datos (por ejemplo, mensajes o datos de audio) desde una red central por medio de la conexión de red 760. La estación base 700 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 por medio de una o más antenas de la formación de antenas o a otra estación base por medio de la conexión de red 760. En una implementación particular, la conexión de red 760 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.
[0128] La estación base 700 puede incluir una pasarela de medios 770 que se acopla a la conexión de red 760 y al procesador 706. La pasarela de medios 770 se configura para convertir entre flujos de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela de medios 770 puede convertir entre diferentes protocolos de transmisión, diferentes esquemas de codificación o ambos. A modo ilustrativo, la pasarela de medios 770 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 770 puede convertir datos entre redes de conmutación de paquetes (por ejemplo, una red de protocolo de voz sobre Internet (VoIP), un subsistema multimedia de IP (IMS), una red inalámbrica de cuarta generación (4G), tal como LTE, WiMax y UMB, una red inalámbrica de quinta generación (5G), etc.), redes de conmutación de circuitos (por ejemplo, una PSTN) y redes híbridas (por ejemplo, una red inalámbrica de segunda generación (2G), tal como GSM, GPRS y EDGE, una red inalámbrica de tercera generación (3G), tal como WCDMA, EV-DO y HSPA, etc.).
[0129] Adicionalmente, la pasarela de medios 770 puede incluir un transcodificador, tal como el transcodificador 710, y se configura para transcodificar datos cuando los códecs son incompatibles. Por ejemplo, la pasarela de medios 770 puede transcodificar entre un códec adaptativo de velocidad múltiple (AMR) y un códec G.711, como un ejemplo ilustrativo, no limitante. La pasarela de medios 770 puede incluir un encaminador y una pluralidad de interfaces físicas. En algunas implementaciones, la pasarela de medios 770 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 770, externo a la estación base 700 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 770 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 añadir servicio a las capacidades y conexiones del usuario final.
[0130] La estación base 700 puede incluir un desmodulador 762 que se acopla a los transceptores 752, 754, al procesador de datos de receptor 764 y al procesador 706, y el procesador de datos de receptor 764 se puede acoplar al procesador 706. El desmodulador 762 se configura para desmodular las señales moduladas recibidas desde los transceptores 752, 754 y para proporcionar datos desmodulados al procesador de datos de receptor 764. El procesador de datos de receptor 764 se configura para extraer un mensaje o datos de audio de los datos desmodulados y enviar el mensaje o los datos de audio al procesador 706.
[0131] La estación base 700 puede incluir un procesador de datos de transmisión 782 y un procesador de múltiples entradas y múltiples salidas (MIMO) de transmisión 784. El procesador de datos de transmisión 782 se puede acoplar al procesador 706 y al procesador de MIMO de transmisión 784. El procesador de MIMO de transmisión 784 se puede acoplar a los transceptores 752, 754 y al procesador 706. En algunas implementaciones, el procesador de MIMO de transmisión 784 se puede acoplar a la pasarela de medios 770. El procesador de datos de transmisión 782 se configura para recibir los mensajes o los datos de audio desde el procesador 706 y para codificar los mensajes o los datos de audio en base a un esquema de codificación, tal como CDMA o multiplexación por división ortogonal de frecuencia (OFDM), como ejemplos ilustrativos, no limitantes. El procesador de datos de transmisión 782 puede proporcionar los datos codificados al procesador de MIMO de transmisión 784.
[0132] Los datos codificados se pueden multiplexar con otros datos, tal como datos piloto, usando técnicas de CDMA u OFDM para generar datos multiplexados. A continuación, los datos multiplexados se pueden modular (es decir, correlacionar por símbolos) por el procesador de datos de transmisión 782 en base a un esquema de modulación particular (por ejemplo, modulación por desplazamiento de fase binaria ("BPSK"), modulación por desplazamiento de fase en cuadratura ("QSPK"), modulación por desplazamiento de fase M-aria ("M-PSK"), modulación de amplitud en cuadratura M-aria ("M-QAM"), etc.) para generar símbolos de modulación. En una implementación particular, los datos codificados y otros datos se pueden modular usando diferentes esquemas de modulación. La velocidad de transferencia de datos, la codificación y la modulación para cada flujo de datos se pueden determinar por instrucciones ejecutadas por el procesador 706.
[0133] El procesador de MIMO de transmisión 784 se configura para recibir los símbolos de modulación desde el procesador de datos de transmisión 782 y puede procesar además los símbolos de modulación y puede realizar la conformación de haces sobre los datos. Por ejemplo, el procesador de MIMO de transmisión 784 puede aplicar ponderaciones de conformación de haces a los símbolos de modulación.
[0134] Durante el funcionamiento, la segunda antena 744 de la estación base 700 puede recibir un flujo de datos 714. El segundo transceptor 754 puede recibir el flujo de datos 714 desde la segunda antena 744 y puede proporcionar el flujo de datos 714 al desmodulador 762. El desmodulador 762 puede desmodular señales moduladas del flujo de datos 714 y proporcionar datos desmodulados al procesador de datos de receptor 764. El procesador de datos de receptor 764 puede extraer datos de audio de los datos desmodulados y proporcionar los datos de audio extraídos al procesador 706.
[0135] El procesador 706 puede proporcionar los datos de audio al transcodificador 710 para la transcodificación. El descodificador 118 del transcodificador 710 puede descodificar los datos de audio de un primer formato en datos de audio descodificados, y el codificador 114 puede codificar los datos de audio descodificados en un segundo formato. En algunas implementaciones, el codificador 114 puede codificar los datos de audio usando una velocidad de transferencia de datos mayor (por ejemplo, aumentar) o una velocidad de transferencia de datos menor (por ejemplo, reducir) que la recibida desde el dispositivo inalámbrico. En otras implementaciones, es posible que los datos de audio no se transcodifiquen. Aunque la transcodificación (por ejemplo, descodificación y codificación) se ilustra como que se realiza por un transcodificador 710, las operaciones de transcodificación (por ejemplo, descodificación y codificación) se pueden realizar por múltiples componentes de la estación base 700. Por ejemplo, la descodificación se puede realizar por el procesador de datos de receptor 764 y la codificación se puede realizar por el procesador de datos de transmisión 782. En otras implementaciones, el procesador 706 puede proporcionar los datos de audio a la pasarela de medios 770 para la conversión a otro protocolo de transmisión, esquema de codificación o ambos. La pasarela de medios 770 puede proporcionar los datos convertidos a otra estación base o red central por medio de la conexión de red 760.
[0136] Los datos de audio codificados generados en el codificador 114, tales como los datos transcodificados, se pueden proporcionar al procesador de datos de transmisión 782 o a la conexión de red 760 por medio del procesador 706. Los datos de audio transcodificados del transcodificador 710 se pueden proporcionar al procesador de datos de transmisión 782 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 782 puede proporcionar los símbolos de modulación al procesador de MIMO de transmisión 784 para su procesamiento adicional y conformación de haces. El procesador de MIMO de transmisión 784 puede aplicar ponderaciones de conformación de haces y puede proporcionar los símbolos de modulación a una o más antenas de la formación de antenas, tales como la primera antena 742 por medio del primer transceptor 752. Por tanto, la estación base 700 puede proporcionar un flujo de datos transcodificados 716, que corresponde al flujo de datos 714 recibido desde el dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo de datos transcodificados 716 puede tener un formato de codificación, velocidad de transferencia de datos o ambos diferentes, al flujo de datos 714. En otras implementaciones, el flujo de datos transcodificados 716 se puede proporcionar a la conexión de red 760 para su transmisión a otra estación base o una red central.
[0137] Cabe destacar que diversas funciones realizadas por los uno o más componentes de los sistemas y dispositivos divulgados en el presente documento se describen como que se realizan por determinados componentes o módulos. Esta división de componentes y módulos es solo a modo de ilustración. En una implementación alternativa, una función realizada por un componente o módulo particular se puede dividir entre múltiples componentes o módulos. Además, en una implementación alternativa, dos o más componentes o módulos se pueden integrar 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 in situ (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.
[0138] Los expertos en la técnica apreciarían además que los diversos bloques lógicos, configuraciones, módulos, circuitos y etapas de algoritmo ilustrativos descritos en relación con los modos de realización divulgados en el presente documento se pueden implementar 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 aplicación en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de formas variadas para cada aplicación particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0139] Las etapas de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento se pueden incorporar directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en un dispositivo de memoria, tal como memoria de acceso aleatorio (RAM), memoria de acceso aleatorio magnetorresistiva (MRAM), MRAM de transferencia de par de espín (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable y borrable (EPROM), memoria de solo lectura programable y borrable eléctricamente (EEPROM), registros, disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). Un dispositivo de memoria ejemplar se acopla 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.
[0140] La descripción previa de las implementaciones divulgadas se proporciona para posibilitar 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. El alcance de la presente invención está definido por las reivindicaciones adjuntas.

Claims (15)

REIVINDICACIONES
1. Un dispositivo que comprende:
una primera unidad de transformada configurada para realizar una primera operación de transformada en un canal de referencia de una primera señal de audio para generar un canal de referencia en el dominio de la frecuencia;
una segunda unidad de transformada configurada para realizar una segunda operación de transformada en un canal objetivo de una segunda señal de audio para generar un canal objetivo en el dominio de la frecuencia;
una unidad de ajuste de canal estéreo configurada para:
determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia; y ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado;
un mezclador descendente configurado para realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral;
una unidad de generación residual configurada para:
generar un canal lateral predicho en base al canal medio, correspondiendo el canal lateral predicho a una predicción del canal lateral; y
generar un canal residual en base al canal lateral y el canal lateral predicho;
una unidad de ajuste a escala residual configurada para:
determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales; y
ajustar a escala el canal residual en el factor de ajuste a escala para generar un canal residual ajustado a escala;
un codificador de canal medio configurado para codificar el canal medio como parte de un flujo de bits; y un codificador de canal residual configurado para codificar el canal residual ajustado a escala como parte del flujo de bits.
2. El dispositivo de la reivindicación 1, en el que el canal residual comprende una señal de canal de error.
3. El dispositivo de la reivindicación 1, en el que la unidad de ajuste a escala residual se configura además para determinar un parámetro de ganancia residual en base al valor de desfase entre canales.
4. El dispositivo de la reivindicación 1, en el que una o más bandas del canal residual se ponen a cero en base al valor de desfase entre canales.
5. El dispositivo de la reivindicación 1, en el que cada banda del canal residual se pone a cero en base al valor de desfase entre canales.
6. El dispositivo de la reivindicación 1, en el que el codificador de canal residual se configura además para establecer un número de bits usados para codificar el canal residual en el tren de bits en base al valor de desfase entre canales.
7. El dispositivo de la reivindicación 1, en el que el codificador de canal residual se configura además para comparar el valor de desfase entre canales con un umbral, en el que, si el valor de desfase entre canales es menor que o igual al umbral, se usa un primer número de bits para codificar el canal residual ajustado a escala y en el que, si el valor de desfase entre canales es mayor que el umbral, se usa un segundo número de bits para codificar el canal residual ajustado a escala.
8. El dispositivo de la reivindicación 7, en el que el segundo número de bits es diferente del primer número de bits, en el que el segundo número de bits es preferentemente menor que el primer número de bits.
9. El dispositivo de la reivindicación 1, en el que la unidad de generación residual y la unidad de ajuste a escala residual están integradas en un dispositivo móvil o en una estación base.
10. Un procedimiento de comunicación, comprendiendo el procedimiento:
realizar, en un codificador, una primera operación de transformada en un canal de referencia de una primera señal de audio para generar un canal de referencia en el dominio de la frecuencia;
realizar una segunda operación de transformada en un canal objetivo de una segunda señal de audio para generar un canal objetivo en el dominio de la frecuencia;
determinar un valor de desfase entre canales indicativo de una desalineación temporal entre el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia;
ajustar el canal objetivo en el dominio de la frecuencia en base al valor de desfase entre canales para generar un canal objetivo en el dominio de la frecuencia ajustado;
realizar una operación de mezcla descendente en el canal de referencia en el dominio de la frecuencia y el canal objetivo en el dominio de la frecuencia ajustado para generar un canal medio y un canal lateral; generar un canal lateral predicho en base al canal medio, correspondiendo el canal lateral predicho a una predicción del canal lateral;
generar un canal residual en base al canal lateral y al canal lateral predicho;
determinar un factor de ajuste a escala para el canal residual en base al valor de desfase entre canales; y ajustar a escala el canal residual en el factor de ajuste a escala para generar un canal residual ajustado a escala;
codificar el canal medio como parte de un flujo de bits; y
codificar el canal residual ajustado a escala como parte del tren de bits.
11. El procedimiento de la reivindicación 10, en el que el canal residual comprende una señal de canal de error.
12. El procedimiento de la reivindicación 10, que comprende además determinar un parámetro de ganancia residual en base al valor de desfase entre canales.
13. El procedimiento de la reivindicación 10, en el que una o más bandas del canal residual se ponen a cero en base al valor de desfase entre canales, o en el que cada banda del canal residual preferentemente se pone a cero en base al valor de desfase entre canales.
14. El procedimiento de la reivindicación 10, que comprende además establecer un número de bits usados para codificar el canal residual en el flujo de bits en base al valor de desfase entre canales.
15. El procedimiento de la reivindicación 10, que comprende además comparar el valor de desfase entre canales con un umbral, en el que, si el valor de desfase entre canales es menor que o igual al umbral, se usa un primer número de bits para codificar el canal residual ajustado a escala. y en el que, si el valor de desfase entre canales es mayor que el umbral, se usa un segundo número de bits para codificar el canal residual ajustado a escala, en el que el segundo número de bits es preferentemente diferente del primer número de bits.
ES17822910T 2017-01-19 2017-12-11 Codificación de múltiples señales de audio Active ES2843903T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762448287P 2017-01-19 2017-01-19
US15/836,604 US10217468B2 (en) 2017-01-19 2017-12-08 Coding of multiple audio signals
PCT/US2017/065542 WO2018136166A1 (en) 2017-01-19 2017-12-11 Coding of multiple audio signals

Publications (1)

Publication Number Publication Date
ES2843903T3 true ES2843903T3 (es) 2021-07-20

Family

ID=62838590

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17822910T Active ES2843903T3 (es) 2017-01-19 2017-12-11 Codificación de múltiples señales de audio

Country Status (10)

Country Link
US (3) US10217468B2 (es)
EP (1) EP3571694B1 (es)
KR (1) KR102263550B1 (es)
CN (2) CN110168637B (es)
AU (1) AU2017394680B2 (es)
BR (1) BR112019014541A2 (es)
ES (1) ES2843903T3 (es)
SG (1) SG11201904752QA (es)
TW (1) TWI800496B (es)
WO (1) WO2018136166A1 (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10217468B2 (en) 2017-01-19 2019-02-26 Qualcomm Incorporated Coding of multiple audio signals
US10304468B2 (en) * 2017-03-20 2019-05-28 Qualcomm Incorporated Target sample generation
US10535357B2 (en) * 2017-10-05 2020-01-14 Qualcomm Incorporated Encoding or decoding of audio signals
US11501787B2 (en) * 2019-08-22 2022-11-15 Google Llc Self-supervised audio representation learning for mobile devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE547786T1 (de) * 2007-03-30 2012-03-15 Panasonic Corp Codierungseinrichtung und codierungsverfahren
US8218775B2 (en) * 2007-09-19 2012-07-10 Telefonaktiebolaget L M Ericsson (Publ) Joint enhancement of multi-channel audio
DE602008005250D1 (de) * 2008-01-04 2011-04-14 Dolby Sweden Ab Audiokodierer und -dekodierer
US8219408B2 (en) * 2008-12-29 2012-07-10 Motorola Mobility, Inc. Audio signal decoder and method for producing a scaled reconstructed audio signal
JP5269914B2 (ja) 2009-01-22 2013-08-21 パナソニック株式会社 ステレオ音響信号符号化装置、ステレオ音響信号復号装置およびそれらの方法
EP2395504B1 (en) 2009-02-13 2013-09-18 Huawei Technologies Co., Ltd. Stereo encoding method and apparatus
EP2375409A1 (en) * 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
WO2012105885A1 (en) * 2011-02-02 2012-08-09 Telefonaktiebolaget L M Ericsson (Publ) Determining the inter-channel time difference of a multi-channel audio signal
EP2544465A1 (en) * 2011-07-05 2013-01-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for decomposing a stereo recording using frequency-domain processing employing a spectral weights generator
JP5977434B2 (ja) 2012-04-05 2016-08-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド パラメトリック空間オーディオ符号化および復号化のための方法、パラメトリック空間オーディオ符号器およびパラメトリック空間オーディオ復号器
KR101662681B1 (ko) * 2012-04-05 2016-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 멀티채널 오디오 인코더 및 멀티채널 오디오 신호 인코딩 방법
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
EP2830051A3 (en) * 2013-07-22 2015-03-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, methods and computer program using jointly encoded residual signals
US10083708B2 (en) * 2013-10-11 2018-09-25 Qualcomm Incorporated Estimation of mixing factors to generate high-band excitation signal
CN104681029B (zh) 2013-11-29 2018-06-05 华为技术有限公司 立体声相位参数的编码方法及装置
US10217468B2 (en) 2017-01-19 2019-02-26 Qualcomm Incorporated Coding of multiple audio signals

Also Published As

Publication number Publication date
TWI800496B (zh) 2023-05-01
TW201828284A (zh) 2018-08-01
BR112019014541A2 (pt) 2020-02-27
KR102263550B1 (ko) 2021-06-09
WO2018136166A1 (en) 2018-07-26
AU2017394680A1 (en) 2019-06-20
US10217468B2 (en) 2019-02-26
US20190378523A1 (en) 2019-12-12
CN110168637A (zh) 2019-08-23
CN116564320A (zh) 2023-08-08
AU2017394680B2 (en) 2021-09-02
CN110168637B (zh) 2023-05-30
KR20190103191A (ko) 2019-09-04
US10438598B2 (en) 2019-10-08
EP3571694B1 (en) 2020-10-14
US20190147895A1 (en) 2019-05-16
US10593341B2 (en) 2020-03-17
US20180204578A1 (en) 2018-07-19
EP3571694A1 (en) 2019-11-27
SG11201904752QA (en) 2019-08-27

Similar Documents

Publication Publication Date Title
ES2821676T3 (es) Codificación de múltiples señales de audio
ES2843903T3 (es) Codificación de múltiples señales de audio
ES2894625T3 (es) Ajuste y mapeo espectral de extensión de ancho de banda intercanal
US10885922B2 (en) Time-domain inter-channel prediction
US10885925B2 (en) High-band residual prediction with time-domain inter-channel bandwidth extension
US10854212B2 (en) Inter-channel phase difference parameter modification
BR112019026971B1 (pt) Predição residual de banda alta com extensão de largura de banda inter-canal no domínio do tempo