ES2894625T3 - Ajuste y mapeo espectral de extensión de ancho de banda intercanal - Google Patents

Ajuste y mapeo espectral de extensión de ancho de banda intercanal Download PDF

Info

Publication number
ES2894625T3
ES2894625T3 ES18706149T ES18706149T ES2894625T3 ES 2894625 T3 ES2894625 T3 ES 2894625T3 ES 18706149 T ES18706149 T ES 18706149T ES 18706149 T ES18706149 T ES 18706149T ES 2894625 T3 ES2894625 T3 ES 2894625T3
Authority
ES
Spain
Prior art keywords
channel
highband
spectral mapping
gain
synthesized
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
ES18706149T
Other languages
English (en)
Inventor
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Venkatraman Atti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2894625T3 publication Critical patent/ES2894625T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/12Circuits for transducers, loudspeakers or microphones for distributing signals to two or more loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S1/00Two-channel systems
    • H04S1/007Two-channel systems in which the audio signals are in digital form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S5/00Pseudo-stereo systems, e.g. in which additional channel signals are derived from monophonic signals by means of phase shifting, time delay or reverberation 
    • H04S5/02Pseudo-stereo systems, e.g. in which additional channel signals are derived from monophonic signals by means of phase shifting, time delay or reverberation  of the pseudo four-channel type, e.g. in which rear channel signals are derived from two-channel stereo signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • 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/07Synergistic effects of band splitting and sub-band processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Transmitters (AREA)
  • Error Detection And Correction (AREA)

Abstract

Un dispositivo que comprende: un codificador configurado para: seleccionar un canal izquierdo o un canal derecho como canal de destino de no referencia en base a un indicador de canal de referencia de banda alta; generar una porción de banda alta del canal de destino de no referencia; generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia; estimar uno o más parámetros de mapeo espectral en base al canal de banda alta de no referencia sintetizado y la porción de banda alta del canal de destino de no referencia; aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado para generar un canal de banda alta de no referencia sintetizado de forma espectral; y generar un flujo de bits codificado en base a uno o más parámetros de mapeo espectral y el canal de banda alta de no referencia sintetizado de forma espectral; y un transmisor configurado para transmitir el flujo de bits codificado a un segundo dispositivo.

Description

DESCRIPCIÓN
Ajuste y mapeo espectral de extensión de ancho de banda intercanal
I. Campo
La presente divulgación se relaciona generalmente con la codificación de múltiples señales de audio.
II. Descripción de la técnica relacionada
Los avances en la tecnología han dado lugar a dispositivos informáticos más pequeños y potentes. Por ejemplo, actualmente existe una variedad de dispositivos informáticos personales portátiles, que incluye teléfonos inalámbricos tales como teléfonos móviles e inteligentes, tabletas y ordenadores portátiles que son pequeños, livianos y fáciles de llevar por los usuarios. Estos dispositivos pueden enviar paquetes de voz y datos a través de redes inalámbricas. Además, muchos de tales dispositivos incorporan funcionalidades adicionales, tales como una cámara fotográfica digital, una cámara de vídeo digital, una grabadora digital y un reproductor de archivos de audio. Además, tales dispositivos pueden procesar instrucciones ejecutables, incluyendo aplicaciones de software, tales como una aplicación de navegador web, que puede usarse para acceder a Internet. Como tal, estos dispositivos pueden incluir capacidades informáticas importantes.
Un dispositivo informático puede incluir o acoplarse a varios micrófonos para recibir señales de audio. Generalmente, 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 puede retrasarse con relación a una primera señal de audio recibida desde el primer micrófono debido a las distancias respectivas de los micrófonos desde la fuente de sonido. En otras implementaciones, la primera señal de audio puede retrasarse con respecto a la segunda señal de audio. En la codificación estéreo, las señales de audio de los micrófonos pueden codificarse para generar una señal del canal medio y una o más señales del canal lateral. La señal del canal medio puede corresponder a una suma de la primera señal de audio y la segunda señal de audio. Una señal del canal lateral puede corresponder a una diferencia entre la primera señal de audio y la segunda señal de audio.
Se hace referencia al documento de patente WO 2017/139714 A1, el cual divulga cómo un codificador se configura para generar una primera porción de banda alta de una primera señal en base a una señal izquierda y una señal derecha. El codificador también se configura para generar un conjunto de parámetros de ajuste de ganancia en base a una señal de no referencia de banda alta. La señal de no referencia de banda alta corresponde a una porción de banda alta izquierda de la señal izquierda o una porción de banda alta derecha de la señal derecha. El transmisor se configura para transmitir la información correspondiente a la primera porción de banda alta de la primera señal. El transmisor también se configura para transmitir el conjunto de parámetros de ajuste de ganancia.
III. Sumario
La presente invención se define en las reivindicaciones independientes adjuntas, con características opcionales o preferidas que se incluyen en las reivindicaciones dependientes.
IV. Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un sistema que incluye un codificador operable para estimar uno o más parámetros de mapeo espectral y un decodificador operable para extraer uno o más parámetros de mapeo espectral;
La Figura 2A es un diagrama que ilustra el codificador de la Figura 1;
La Figura 2B es un diagrama que ilustra un codificador de extensión de ancho de banda (BWE) de canal medio;
La Figura 3A es un diagrama que ilustra el decodificador de la Figura 1;
La Figura 3B es un diagrama que ilustra un decodificador de BWE de canal medio;
La Figura 4 es un diagrama que ilustra una primera porción de un codificador de extensión de ancho de banda intercanal del codificador de la Figura 1;
La Figura 5 es un diagrama que ilustra una segunda porción del codificador de extensión de ancho de banda intercanal del codificador de la Figura 1;
La Figura 6 es un diagrama que ilustra un decodificador de extensión de ancho de banda intercanal de la Figura 1;
La Figura 7 es un ejemplo particular de un procedimiento para estimar uno o más parámetros de mapeo espectral;
La Figura 8 es un ejemplo particular de un procedimiento para extraer uno o más parámetros de mapeo espectral;
La Figura 9 es un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo móvil que es operable para estimar uno o más parámetros de mapeo espectral; y
La Figura 10 es un diagrama de bloques de una estación base que es operable para estimar uno o más parámetros de mapeo espectral.
V. Descripción detallada
En la descripción, las características comunes se designan mediante números de referencia comunes. Como se usa en la presente memoria, se usa diversa terminología con el propósito de describir implementaciones particulares solamente y no se pretende que sea una limitación de las implementaciones. Por ejemplo, las formas singulares "un", "una", y "el/la" pretenden incluir las formas plurales también, a menos que el contexto indique claramente lo contrario. Se puede entender además que los términos "comprende" y "que comprende" pueden usarse indistintamente con "incluye" o "que incluye". Adicionalmente, se debe entender que el término "en el que" puede usarse indistintamente con "donde". Como se usa en la presente memoria, un término ordinal (por ejemplo, "primero", "segundo", "tercero", etcétera) usado para modificar un elemento, tal como una estructura, un componente, una operación, etcétera, no indica por sí mismo cualquier prioridad u orden del elemento con respecto a otro elemento, sino que simplemente distingue el elemento de otro elemento que tiene el mismo nombre (pero para el uso del término ordinal). Como se usa en la presente memoria, 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.
Pueden usarse términos tales como "determinar", "calcular", "desplazar", "ajustar", etcétera para describir cómo se realizan una o más operaciones. Se debe señalar que dichos términos no deben interpretarse como limitantes y se pueden utilizar otras técnicas para realizar operaciones similares. Adicionalmente, como se hace referencia en la presente memoria, "generar", "calcular", "usar", "seleccionar", "acceder" y "determinar" pueden usarse indistintamente. Por ejemplo, "generar", "calcular" o "determinar" un parámetro (o una señal) puede referirse a generar, calcular o determinar activamente el parámetro (o la señal) o puede referirse a usar, seleccionar o acceder al parámetro (o señal) que ya se ha generado, tal como por otro componente o dispositivo.
Se divulgan sistemas y dispositivos operables para codificar múltiples señales de audio. Un dispositivo puede incluir un codificador configurado para codificar las múltiples señales de audio. Las múltiples señales de audio pueden capturarse simultáneamente y tiempo mediante el uso de múltiples dispositivos de grabación, por ejemplo, múltiples micrófonos. En algunos ejemplos, las múltiples señales de audio (o audio multicanal) pueden generarse sintéticamente (por ejemplo, artificialmente) multiplexando varios canales de audio que se graban al mismo tiempo o en momentos diferentes. Como ejemplos ilustrativos, la grabación o multiplexación simultánea de los canales de audio puede resultar en una configuración de 2 canales (es decir, Estéreo: Izquierdo y Derecho), una configuración de 5,1 canales (Izquierdo, Derecho, Central, Envolvente Izquierdo, Envolvente Derecho y los canales de énfasis de baja frecuencia (LFE)), una configuración de 7.1 canales, una configuración de 7,1+4 canales, una configuración de 22,2 canales o una configuración de N canales.
Los dispositivos de captura de audio en las salas de teleconferencias (o salas de telepresencia) pueden incluir múltiples micrófonos que adquieren audio espacial. El audio espacial puede incluir voz, así como también 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 en función de cómo se dispongan los micrófonos, así como también de dónde se encuentra la fuente (por ejemplo, el hablante) con respecto a los micrófonos y dimensiones de la habitación. Por ejemplo, una fuente de sonido (por ejemplo, un hablante) puede estar más cerca de un primer micrófono asociado con el dispositivo que de un segundo micrófono asociado con el dispositivo. Por lo tanto, un sonido emitido desde la fuente de sonido puede llegar al primer micrófono antes que al segundo micrófono. El dispositivo puede recibir una primera señal de audio a través del primer micrófono y puede recibir una segunda señal de audio a través del segundo micrófono.
La codificación media lateral (MS) y la codificación estéreo paramétrica (PS) son técnicas de codificación estéreo que pueden proporcionar una eficiencia mejorada sobre las técnicas de codificación mono dual. En la codificación mono dual, el canal (o señal) Izquierdo (L) y el canal (o señal) Derecho (R) se codifican independientemente sin usar la correlación intercanal. 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 de 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 al transformar las señales L/R en una señal de suma y un conjunto de parámetros laterales. Los parámetros laterales pueden indicar una diferencia de intensidad intercanales (IID), una diferencia de fase intercanales (IPD), una diferencia de tiempo intercanales (ITD), ganancias de predicción residuales o laterales, etcétera. La señal de suma se codifica en forma de onda y se transmite junto con los parámetros laterales. En un sistema híbrido, el canal lateral puede codificarse en forma de onda en las bandas inferiores (por ejemplo, menos de 2 kilohercios (kHz)) y codificarse PS en las bandas superiores (por ejemplo, mayor o igual a 2 kHz) donde la preservación de la fase intercanales es perceptualmente menos crítica. En algunas implementaciones, la codificación PS puede usarse en las bandas inferiores también para reducir la redundancia intercanal antes de la codificación en forma de onda.
La codificación MS y la codificación PS pueden realizarse en el dominio de frecuencia o en el dominio de subbanda. En algunos ejemplos, el Canal izquierdo y el Canal derecho pueden estar no 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 son no correlacionados, la eficiencia de codificación de la codificación MS, la codificación PS o ambas, puede acercarse a la eficiencia de codificación de la codificación mono dual.
En función de la configuración de grabación, puede haber un desplazamiento temporal entre un Canal izquierdo y un Canal derecho, así como también otros efectos espaciales tales como el eco y la reverberación de la sala. Si el desplazamiento temporal y el desajuste de fase entre los canales no se compensan, el canal de suma y el canal de diferencia pueden contener energías comparables que reducen las ganancias de codificación asociadas con las técnicas de MS o PS. La reducción de las ganancias de codificación puede basarse en la cantidad de desplazamiento (o fase) temporal. 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 ciertas tramas donde los canales se desplazan temporalmente, pero están altamente correlacionados. En la codificación estéreo, un Canal medio (por ejemplo, un canal de suma) y un Canal lateral (por ejemplo, un canal de diferencia) pueden generarse en base a la siguiente Fórmula:
M= (L+R)/2, S= (L-R)/2, Fórmula 1 donde M corresponde al Canal medio, S corresponde al Canal lateral, L corresponde al Canal izquierdo y R corresponde al Canal derecho.
En algunos casos, el Canal medio y el Canal lateral pueden generarse 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 Fórmula 2 puede denominarse como "mezcla descendente". Un procedimiento inverso de generar el Canal izquierdo y el Canal derecho desde el Canal medio y el Canal lateral en base a la Fórmula 1 o Fórmula 2 puede denominarse como "mezcla ascendente".
En algunos casos, el Canal medio puede basarse en otras fórmulas tales como:
M = (L+gDR)/2, o Fórmula 3
M - giL gíR Fórmula 4 donde gi g2 = 1,0, y donde gD es un parámetro de ganancia. En otros ejemplos, la mezcla descendente puede realizarse 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.
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 debe realizar la codificación MS en base a las energías. Por ejemplo, la codificación MS puede realizarse en respuesta a la determinación de que la relación de las energías de la señal lateral y la señal media es menor que un umbral. Para ilustrar, si un Canal derecho se desplaza al menos una primera vez (por ejemplo, aproximadamente 0,001 segundos o 48 muestras a 48 kHz), una primera energía de la señal media (correspondiente a una suma de la señal izquierda y la señal derecha) puede ser comparable a una segunda energía de la señal lateral (correspondiente a una diferencia entre la señal izquierda y la señal derecha) para las tramas de voz sonora. Cuando la primera energía es comparable a la segunda energía, puede usarse un mayor número de bits para codificar el Canal lateral, reduciendo de esta manera la eficiencia de codificación de la codificación MS con relación a la codificación mono dual. Por tanto, puede usarse la codificación dual-mono cuando la primera energía es comparable a la segunda energía (por ejemplo, cuando la relación entre la primera energía y la segunda energía es mayor o igual que el umbral). En un enfoque alternativo, la decisión entre la codificación MS y la codificación mono dual para una trama particular se puede hacer en base a una comparación de un umbral y los valores de correlación cruzada normalizados del Canal izquierdo y el Canal derecho.
El codificador puede determinar un valor de desajuste indicativo de un volumen de desalineación temporal entre la primera señal de audio y la segunda señal de audio. Como se usa en la presente memoria, un "valor de desplazamiento temporal", un "valor de desplazamiento" y un "valor de desajuste" pueden usarse indistintamente. Por ejemplo, el codificador puede determinar un valor de desplazamiento temporal indicativo de un desplazamiento (por ejemplo, el desajuste temporal) de la primera señal de audio con relación a la segunda señal de audio. El valor de desajuste temporal puede corresponder a una cantidad de retraso temporal entre la recepción de la primera señal de audio en el primer micrófono y la recepción de la segunda señal de audio en el segundo micrófono. Además, el codificador puede determinar el valor de desajuste temporal en una base trama por trama, por ejemplo, en base a cada trama de voz/audio de 20 milisegundos (ms). Por ejemplo, el valor de desajuste temporal puede corresponder a una cantidad de tiempo en 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. Alternativamente, el valor de desajuste temporal puede corresponder a una cantidad de tiempo en 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.
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 pueden retrasarse con relación a las tramas de la primera señal de audio. En este caso, la primera señal de audio puede denominarse como "señal de audio de referencia" o "canal de referencia" y la segunda señal de audio retardada puede denominarse como "señal de audio de destino" o "canal de destino". Alternativamente, 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 pueden retrasarse con relación a las tramas de la segunda señal de audio. En este caso, la segunda señal de audio puede denominarse como señal de audio de referencia o canal de referencia y la primera señal de audio retardada puede denominarse como señal de audio de destino o canal de destino.
En función de dónde se encuentren las fuentes de sonido (por ejemplo, los hablantes) en una sala de conferencias o de telepresencia o cómo cambia la posición de la fuente de sonido (por ejemplo, el hablante) con relación a los micrófonos, el canal de referencia y el canal de destino pueden cambiar de una trama a otra; de manera similar, el valor de retardo temporal también puede cambiar de una trama a otra. Sin embargo, en algunas implementaciones, el valor de desajuste temporal puede ser siempre positivo para indicar una cantidad de retraso del canal "de destino" con relación al canal "de referencia". Además, el valor de desajuste temporal puede corresponder a un valor de "desplazamiento no causal" por el cual el canal de destino retardado se "retrasa" en el tiempo de manera que el canal de destino se alinee (por ejemplo, se alinee 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 de destino desplazado no causal.
El codificador puede determinar el valor de desajuste temporal en base al canal de audio de referencia y una pluralidad de valores de desajuste temporal que se aplican en canal de audio de destino. Por ejemplo, una primera trama del canal de audio de referencia, X, se puede recibir por primera vez (mi). Una primera trama particular del canal de audio de destino, Y, se puede recibir por segunda vez (ni) correspondiente a un primer valor de desajuste temporal, por ejemplo, desplazamiento1 = ni - mi. Además, una segunda trama del canal de audio de referencia se puede recibir por tercera vez (m2). Una segunda trama particular del canal de audio de destino se puede recibir por cuarta vez (n2) correspondiente a un segundo valor de desajuste temporal, por ejemplo, desplazamiento2 = n2 - im El dispositivo puede realizar una trama o un algoritmo de almacenamiento en búfer para generar una trama (por ejemplo, muestras de 20 ms) a una primera velocidad de muestreo (por ejemplo, una velocidad de muestreo de 32 kHz (es decir, 640 muestras por trama)). El codificador puede, en respuesta a determinar que una primera trama de la primera señal de audio y una segunda trama de la segunda señal de audio llegan al mismo tiempo al dispositivo, estimar un valor de desajuste temporal (por ejemplo, desplazamientol) como 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 alinearse temporalmente. En algunos casos, el Canal izquierdo y el Canal derecho, incluso cuando están alineados, pueden diferir en energía debido a varias razones (por ejemplo, calibración del micrófono).
El Canal izquierdo y el Canal derecho pueden estar desalineados temporalmente debido a varias razones (por ejemplo, una fuente de sonido, tal como un hablante, puede estar más cerca de uno de los micrófonos que de otro y los dos micrófonos pueden ser mayores que un umbral (por ejemplo, 1-20 centímetros) de distancia). Una ubicación de la fuente de sonido con relación a los micrófonos puede introducir diferentes retrasos en el Canal izquierdo y el Canal derecho. Además, puede haber una diferencia de ganancia, una diferencia de energía, o una diferencia de nivel entre el Canal izquierdo y el Canal derecho.
Cuando hay más de dos canales, puede seleccionarse inicialmente un canal de referencia en base a los niveles o energías de los canales, y subsecuentemente refinarse en base a los valores de desajuste temporal entre los diferentes pares de canales, por ejemplo, t1(ref, ch2), t2(ref, ch3), t3(ref, ch4), ... t3(ref, chN), donde ch1 es el canal de referencia inicialmente y t1(.), t2(.), etcétera son las funciones para estimar los valores de desajuste. Si todos los valores de desajuste temporal son positivos, entonces ch1 se trata como el canal de referencia. Si alguno de los valores de desajuste es un valor negativo, entonces el canal de referencia se reconfigura al canal que estaba asociado con un valor de desajuste que resultó en 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 del número máximo de canales laterales) del canal de referencia. Puede usarse una histéresis para superar cualquier variación repentina en la selección del canal de referencia.
El tiempo de llegada de las señales de audio a los micrófonos de múltiples fuentes de sonido (por ejemplo, hablantes) puede variar cuando los múltiples hablantes están hablando alternativamente (por ejemplo, sin solapamiento). En tal caso, el codificador puede ajustar dinámicamente un valor de desajuste 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 cual puede resultar en valores variables de desajuste temporal en función de quién es el hablante más alto, el más cercano al micrófono, etcétera. En tal caso, la identificación de los canales de referencia y de destino puede basarse en los valores de desplazamiento temporal variables en la trama actual y los valores de desajuste temporal estimados en las tramas anteriores, y en base a la energía o evolución temporal de la primera y segunda señal de audio.
La primera señal de audio y la segunda señal de audio pueden sintetizarse o generarse artificialmente cuando las dos señales muestran potencialmente menos (por ejemplo, ninguna) correlación. Debe entenderse que los ejemplos descritos en la presente memoria son ilustrativos y pueden ser instructivos para determinar una relación entre la primera señal de audio y la segunda señal de audio en situaciones similares o diferentes.
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 desajuste temporal particular. El codificador puede generar un primer valor de desajuste temporal estimado en base a los valores de comparación. Por ejemplo, el primer valor de desajuste temporal 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.
El codificador puede determinar un valor de desajuste temporal final al refinar, en múltiples etapas, una serie de valores de desajuste temporal estimados. Por ejemplo, el codificador puede estimar en primer lugar un valor de desajuste temporal "tentativo" en base a los valores de comparación generados desde las versiones estéreo preprocesadas y remuestreadas de la primera señal de audio y la segunda señal de audio. El codificador puede generar valores de comparación interpolados asociados con valores de desajuste temporal cerca del valor de desajuste temporal "tentativo" estimado. El codificador puede determinar un segundo valor de desajuste temporal "interpolado" estimado en base a los valores de comparación interpolados. Por ejemplo, el segundo valor de desajuste temporal "interpolado" estimado puede corresponder a un valor de comparación interpolado particular que indica una mayor similitud temporal (o menor diferencia) que los valores de comparación interpolados restantes y el primer valor de desajuste temporal estimado "tentativo". Si el segundo valor de desajuste temporal "interpolado" estimado de la trama actual (por ejemplo, la primera trama de la primera señal de audio) es diferente al valor de desajuste temporal final de una trama anterior (por ejemplo, una trama de la primera señal de audio que precede la primera trama), entonces el valor de desajuste temporal "interpolado" de la trama actual se "modifica" adicionalmente para mejorar la similitud temporal entre la primera señal de audio y la segunda señal de audio desplazada. En particular, un tercer valor de desajuste temporal "modificado" estimado puede corresponder a una medida más precisa de similitud temporal al buscar alrededor del segundo valor de desajuste temporal "interpolado" estimado de la trama actual y el valor de desajuste temporal estimado final de la trama anterior. El tercer valor de desajuste temporal "modificado" estimado se condiciona además para estimar el valor de desajuste temporal final al limitar cualquier cambio espurio en el valor de desajuste temporal entre las tramas y se controla además para no cambiar de un valor de desajuste temporal negativo a un valor de desajuste temporal positivo (o viceversa) en dos tramas sucesivas (o consecutivas) como se describió en la presente memoria.
El codificador puede abstenerse de cambiar entre un valor de desajuste temporal positivo y un valor de desajuste temporal negativo o viceversa en tramas consecutivas o en tramas adyacentes. Por ejemplo, el codificador puede establecer el valor de desajuste temporal final en un valor particular (por ejemplo, 0) que indica que no hay desplazamiento temporal en base al valor de desajuste temporal estimado "interpolado" o "modificado" de la primera trama y un correspondiente estimado "interpolado" o "modificado" o valor de desajuste temporal final en una trama particular que precede a la primera trama. Para ilustrar, el codificador puede establecer el valor final de desajuste temporal de la trama actual (por ejemplo, la primera trama) para indicar que no hay desplazamiento temporal, es decir, desplazamiento1 = 0, en respuesta a determinar que un valor estimado de desajuste temporal "tentativo" o "interpolado" o "modificado" de la trama actual es positivo y el otro valor estimado de desajuste temporal" tentativo" o "interpolado" o "modificado" o "final" de la trama anterior (por ejemplo, la trama que precede a la primera trama) es negativo. Alternativamente, el codificador también puede establecer el valor de desajuste temporal final de la trama actual (por ejemplo, la primera trama) para indicar que no hay desplazamiento temporal, es decir, desplazamientol = 0, en respuesta a determinar que un valor estimado de desajuste temporal "tentativo" o "interpolado" o "modificado" de la trama actual es negativo y el otro valor estimado de desajuste temporal "tentativo" o "interpolado" o "modificado" o "final" de la trama anterior (por ejemplo, la trama que precede a la primera trama) es positivo.
El codificador puede seleccionar una trama de la primera señal de audio o la segunda señal de audio como "referencia" o "destino" en base al valor de desajuste temporal. Por ejemplo, en respuesta a la determinación de que el valor de desajuste temporal final es positivo, el codificador puede generar un canal de referencia o un 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 de "destino". Alternativamente, en respuesta a la determinación de que el valor de desajuste temporal final es negativo, el codificador puede generar el canal de referencia o el indicador de señal que tiene un segundo valor (por ejemplo, 1) que indica que la segunda señal de audio es la señal de "referencia" y que la primera señal de audio es la señal de "destino".
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 de destino desplazada no causal. Por ejemplo, en respuesta a la determinación de que el valor de desajuste temporal final es positivo, el codificador puede estimar un valor de ganancia para normalizar o ecualizar la amplitud o los niveles de potencia de la primera señal de audio con relación a la segunda señal de audio que se compensa por el valor de desajuste temporal no causal (por ejemplo, un valor absoluto del valor de desajuste temporal final). Alternativamente, en respuesta a la determinación de que el valor de desajuste temporal final es negativo, el codificador puede estimar un valor de ganancia para normalizar o ecualizar los niveles de potencia o amplitud de la primera señal de audio desplazada no causal con relación a la segunda señal de audio. En algunos ejemplos, el codificador puede estimar un valor de ganancia para normalizar o ecualizar la amplitud o los niveles de potencia de la señal de "referencia" con relación a la señal de "destino" desplazada no causal. En otros ejemplos, el codificador puede estimar el valor de ganancia (por ejemplo, un valor de ganancia relativo) en base a la señal de referencia con relación a la señal de destino (por ejemplo, la señal de destino no desplazada).
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 de destino, el valor de desajuste temporal 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 al canal de destino ajustado por desajuste 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 desajuste temporal 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 al menos una señal codificada, el valor de desajuste temporal no causal, el parámetro de ganancia relativa, el canal de referencia o indicador de señal o una combinación de los mismos.
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 de destino, el valor de desajuste temporal no causal, el parámetro de ganancia relativa, los parámetros de banda baja de una trama particular de la primera señal de audio, los 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. Se pueden usar ciertos parámetros de banda baja, parámetros de banda alta o una combinación de los mismos, de una o más tramas precedentes 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 mejorar las estimaciones del valor de desajuste temporal no causal y el parámetro de ganancia relativa intercanal. 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 envolvente (por ejemplo, un parámetro de inclinación), un parámetro de ganancia de tono, un parámetro de ganancia de FCB, un parámetro de modo de codificación, un parámetro de actividad de voz, un parámetro de estimación de ruido, un parámetro de relación señal/ruido, un parámetro de formantes, un parámetro de decisión de voz/música, el desplazamiento no causal, el parámetro de ganancia intercanal o una combinación de los mismos. Un transmisor del dispositivo puede transmitir al menos una señal codificada, el valor de desajuste temporal no causal, el parámetro de ganancia relativa, el indicador de canal de referencia (o señal) o una combinación de los mismos. En la presente divulgación, pueden usarse los términos tales como "determinar", "calcular", "desplazar", "ajustar", etcétera para describir cómo se realiza una o más operaciones. Se debe señalar que dichos términos no deben interpretarse como limitantes y se pueden utilizar otras técnicas para realizar operaciones similares.
Con referencia a la Figura 1, se divulga un ejemplo ilustrativo particular de un sistema y se designa generalmente 100. El sistema 100 incluye un primer dispositivo 104 acoplado comunicativamente, a través de una red 120, a un segundo dispositivo 106. La red 120 puede incluir una o más redes inalámbricas, una o más redes cableadas o una combinación de las mismas.
El primer dispositivo 104 puede incluir una memoria 153, un codificador 200, un transmisor 110, y una o más interfaces de entrada 112. La memoria 153 puede ser un medio legible por ordenador no transitorio que incluye las instrucciones 191. Las instrucciones 191 pueden ser ejecutables por el codificador 200 para realizar una o más de las operaciones descritas en la presente memoria. Una primera interfaz de entrada de las interfaces de entrada 112 puede acoplarse a un primer micrófono 146. Una segunda interfaz de entrada de la interfaz de entrada 112 puede acoplarse a un segundo micrófono 148. El codificador 200 puede incluir un codificador de extensión de ancho de banda intercanal (ICBWE) 204. El codificador de ICBWE 204 puede configurarse para estimar uno o más parámetros de mapeo espectral en base a una banda alta de no referencia sintetizada y a un canal de destino de no referencia. Los detalles adicionales asociados con las operaciones del codificador de ICBWE 204 se describen con respecto a las Figuras 2 y 4-5.
El segundo dispositivo 106 puede incluir un decodificador 300. El decodificador 300 puede incluir un decodificador de ICBWE 306. El decodificador de ICBWE 306 puede configurarse para extraer uno o más parámetros de mapeo espectral de un flujo de bits de mapeo espectral recibido. Los detalles adicionales asociados con las operaciones del decodificador de ICBWE 306 se describen con respecto a las Figuras 3 y 6. El segundo dispositivo 106 puede acoplarse a un primer altavoz 142, un segundo altavoz 144 o ambos. Aunque no se muestra, el segundo dispositivo 106 puede incluir otros componentes, tales como un procesador (por ejemplo, una unidad central de procesamiento), un micrófono, un receptor, un transmisor, una antena, una memoria, etcétera
Durante el funcionamiento, el primer dispositivo 104 puede recibir un primer canal de audio 130 (por ejemplo, una primera señal de audio) a través de la primera interfaz de entrada del primer micrófono 146 y puede recibir un segundo canal de audio 132 (por ejemplo, una segunda señal de audio) a través de la segunda interfaz de entrada del segundo micrófono 148. El primer canal de audio 130 puede corresponder a un canal derecho o un canal izquierdo. El segundo canal de audio 132 puede corresponder al otro canal derecho o al canal izquierdo. Una fuente de sonido 152 (por ejemplo, un usuario, un altavoz, ruido ambiental, un instrumento musical, etc.) puede estar más cerca del primer micrófono 146 que del segundo micrófono 148. En consecuencia, una señal de audio de la fuente de sonido 152 puede recibirse en las interfaces de entrada 112 a través del primer micrófono 146 en un momento anterior a mediante el 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 primer canal de audio 130 puede ser un "canal de referencia" y el segundo canal de audio 132 puede ser un "canal de destino". El canal de destino puede ajustarse (por ejemplo, desplazarse temporalmente) para alinearse sustancialmente con el canal de referencia. Alternativamente, el segundo canal de audio 132 puede ser el canal de referencia y el primer canal de audio 130 puede ser el canal de destino. El canal de referencia y el canal de destino pueden variar sobre una base trama a trama. Por ejemplo, para una primera trama, el primer canal de audio 130 puede ser el canal de referencia y el segundo canal de audio 132 puede ser el canal de destino. Sin embargo, para una segunda trama (por ejemplo, una trama subsecuente), el primer canal de audio 130 puede ser el canal de destino y el segundo canal de audio 132 puede ser el canal de referencia. Para facilitar la descripción, a menos que se indique de cualquier otra manera más abajo, el primer canal de audio 130 es el canal de referencia y el segundo canal de audio 132 es el canal de destino. Se debe señalar que el canal de referencia descrito con respecto a los canales de audio 130, 132 puede ser independiente del indicador de canal de referencia de banda alta que se describe más abajo. Por ejemplo, el indicador de canal de referencia de banda alta puede indicar que una banda alta de cualquiera de los canales 130, 132 es el canal de referencia de banda alta, y el indicador de canal de referencia de banda alta puede indicar un canal de referencia de banda alta que podría ser ya sea el mismo canal o un canal diferente del canal de referencia.
Como se describió con mayor detalle con respecto a las Figuras 2A, 4, y 5, el codificador 200 puede generar un flujo de bits de mezcla descendente 216, un flujo de bits de ICBWE 242, un flujo de bits de canal medio de banda alta 244, y un flujo de bits de banda baja 246. El transmisor 110 puede transmitir el flujo de bits de mezcla descendente 216, el flujo de bits de ICBWE 242, el flujo de bits de canal medio de banda alta 244 o una combinación de los mismos, a través de la red 120, al segundo dispositivo 106. Alternativamente, o, además, el transmisor 110 puede almacenar el flujo de bits de mezcla descendente 216, el flujo de bits de ICBWE 242, el flujo de bits de canal medio de banda alta 244 o una combinación de los mismos, en un dispositivo de la red 120 o un dispositivo local para procesarlos más aún o decodificarlos más tarde.
El decodificador 300 puede realizar operaciones de decodificación en base al flujo de bits de mezcla descendente 216, el flujo de bits de ICBWE 242, el flujo de bits de canal medio de banda alta 244 y el flujo de bits de banda baja 246. Por ejemplo, el decodificador 300 puede generar un primer canal (por ejemplo, un primer canal de salida 126) y un segundo canal (por ejemplo, un segundo canal de salida 128) en base al flujo de bits de mezcla descendente 216, el flujo de bits de banda baja 246, el flujo de bits de ICBWE 242 y el flujo de bits de canal medio de banda alta 244. El segundo dispositivo 106 puede emitir el primer canal de salida 126 a través del primer altavoz 142. El segundo dispositivo 106 puede emitir el segundo canal de salida 128 a través del segundo altavoz 144. En ejemplos alternativos, el primer canal de salida 126 y el segundo canal de salida 128 pueden transmitirse como un par de señales estéreo a un solo altavoz de salida.
Como se describió más abajo, el codificador de ICBWE 204 de la Figura 1 puede estimar los parámetros de mapeo espectral en base a una medida de máxima probabilidad, o una medida de reducción de la distorsión espectral de lazo abierto o de lazo cerrado, de manera que una forma espectral (por ejemplo, la envolvente espectral o la inclinación espectral) de un canal de banda alta de no referencia sintetizada de forma espectral es sustancialmente similar a una forma espectral (por ejemplo, la envolvente espectral) de un canal de destino de no referencia. Los parámetros de mapeo espectral pueden transmitirse al decodificador 300 en el flujo de bits de ICBWE 242 y usarse en el decodificador 300 para generar las señales de salida 126, 128 que tienen artefactos reducidos y un equilibrio espacial mejorado entre los canales izquierdo y derecho.
Con referencia a la Figura 2A, se muestra una implementación particular de un codificador 200 operable para estimar los parámetros de mapeo espectral. El codificador 200 incluye un mezclador descendente 202, el codificador de ICBWE 204, un codificador de bWe de canal medio 206, un codificador de banda baja 208 y un banco de filtros 290.
Se pueden proporcionar un canal izquierdo 212 y un canal derecho 214 al mezclador descendente 202. De acuerdo con una implementación, el canal izquierdo 212 y el canal derecho 214 pueden ser canales de dominio de la frecuencia (por ejemplo, canales de dominio de la transformada). De acuerdo con otra implementación, el canal izquierdo 212 y el canal derecho 214 pueden ser canales de dominio del tiempo. El mezclador descendente 202 puede configurarse para mezclar descendentemente el canal izquierdo 212 y el canal derecho 214 para generar un flujo de bits descendente 216, un canal medio 222 y un canal lateral de banda baja 224. Aunque se muestra que el canal lateral de banda baja 224 se estima, en otras implementaciones alternativas, puede generarse y codificarse alternativamente un canal lateral de ancho de banda completo y puede transmitirse un flujo de bits correspondiente a un decodificador. El flujo de bits de mezcla descendente 216 puede incluir parámetros de mezcla descendente (por ejemplo, parámetros de desplazamiento, parámetros de ganancia de destino, indicador de canal de referencia, diferencias de nivel entre canales, diferencias de fase entre canales, etcétera) en base al canal izquierdo 212 y al canal derecho 214. El flujo de bits de mezcla descendente 216 puede transmitirse desde el codificador 200 a un decodificador, tal como un decodificador 300 de la Figura 3A.
El canal medio 222 puede representar una banda de frecuencia completa de los canales 212, 214, y el canal lateral de banda baja 224 puede representar una porción de banda baja de los canales 212, 214. Como ejemplo no limitativo, el canal medio 222 puede representar la banda de frecuencia completa (de 20 Hz a 16 kHz) de los canales 212, 214 si los canales 212, 214 son canales de banda súper ancha, y el canal lateral de banda baja 224 puede representar la porción de banda baja (por ejemplo, de 20 Hz a 8 kHz o de 20 Hz a 6,4 kHz) de los canales 212, 214. El canal medio 222 puede proporcionarse al banco de filtros de remuestreo 290, y el canal lateral de banda baja 224 puede proporcionarse al codificador de banda baja 208.
El banco de filtros de remuestreo 290 puede configurarse para separar los componentes de alta frecuencia y los componentes de baja frecuencia del canal medio 222. Para ilustrar, el banco de filtros de remuestreo 290 puede separar los componentes de alta frecuencia del canal medio 222 para generar un canal medio de banda alta 292, y el banco de filtros 290 puede separar los componentes de baja frecuencia del canal medio 222 para generar un canal medio de banda baja 294. En el escenario donde el modo de codificación es de banda súper ancha, el canal medio de banda alta 292 puede abarcar desde 8 kHz a 16 kHz, y el canal medio de banda baja 294 puede abracar desde 20 Hz a 8 kHz. Se apreciará que el modo de codificación y los intervalos de frecuencia descritos en la presente memoria son simplemente con fines ilustrativos y no deben interpretarse como limitantes. En otras implementaciones, el modo de codificación puede ser diferente (por ejemplo, un modo de codificación de banda ancha, un modo de codificación de banda completa, etcétera) y/o los intervalos de frecuencia pueden ser diferentes. En otras implementaciones, el mezclador descendente 202 puede configurarse para proporcionar directamente el canal medio de banda baja 294 y el canal medio de banda alta 292. En tales implementaciones, las operaciones de filtrado en el banco de filtros 290 pueden omitirse. El canal medio de banda alta 292 se puede proporcionar al codificador de BWE de canal medio 206, y el canal medio de banda baja 294 se puede proporcionar al codificador de banda baja 208.
El codificador de banda baja 208 puede configurarse para codificar el canal medio de banda baja 294 y el canal lateral de banda baja 224 para generar un flujo de bits de banda baja 246. En algunas implementaciones, se puede omitir una o más de las siguientes etapas que incluyen la generación del canal lateral de banda baja 224, la codificación del canal lateral de banda baja 224, y que incluyen la información correspondiente al canal lateral de banda baja como parte del flujo de bits de banda baja 246. De acuerdo con una implementación, el codificador de banda baja 208 puede incluir un codificador de banda baja de canal medio (por ejemplo, no mostrado y en base a la codificación ACELP o TCX) configurado para generar un flujo de bits de canal medio de banda baja al codificar el canal medio de banda baja 294. El codificador de banda baja 208 también puede incluir un codificador de banda baja de canal lateral (por ejemplo, no mostrado y en base a la codificación ACELP o TCX) configurado para generar un flujo de bits de canal lateral de banda baja al codificar el canal lateral de banda baja 224. El flujo de bits de banda baja 246 puede transmitirse desde el codificador 200 a un decodificador (por ejemplo, el decodificador 300 de la Figura 3a ).
El codificador de banda baja 208 también puede generar una señal de excitación de banda baja 232 que se proporciona al codificador de BWE de canal medio 206. El codificador de BWE de canal medio 206 puede configurarse para codificar el canal medio de banda alta 292 para generar un flujo de bits de canal medio de banda alta 244. Por ejemplo, el codificador de BWE de canal medio 206 puede estimar los coeficientes de predicción lineal (LPC), los parámetros de forma de ganancia, los parámetros de trama de ganancia, etcétera, en base a la señal de excitación de banda baja 232 y al canal medio de banda alta 292 para generar el flujo de bits de canal medio de banda alta 244. De acuerdo con una implementación, el codificador de BWE de canal medio 206 puede codificar el canal medio de banda alta 292 mediante el uso de la extensión de ancho de banda en el dominio del tiempo. El flujo de bits de canal medio de banda alta 244 puede transmitirse desde el codificador 200 a un decodificador (por ejemplo, el decodificador 300 de la Figura 3A).
El codificador de BWE de canal medio 206 puede proporcionar uno o más parámetros 234 al codificador BWE intercanal 204. Uno o más parámetros 234 pueden incluir una excitación de banda alta armónica (por ejemplo, la excitación de banda alta armónica 237 de la Figura 2B), ruido modulado (por ejemplo, el ruido modulado 482 de la Figura 4), formas de ganancia cuantificadas, coeficientes de predicción lineal (LPC) cuantificados, tramas de ganancia cuantificadas, etcétera. El canal izquierdo 212 y el canal derecho 214 también pueden proporcionarse al codificador de BWE intercanal 204. El codificador de BWE intercanal 204 puede configurarse para extraer los parámetros de mapeo de ganancia asociados con los canales 212, 214, los parámetros de mapeo de forma espectral asociados con los canales 212, 214, etcétera, para facilitar el mapeo de uno o más parámetros 234 a los canales 212, 214. Los parámetros extraídos pueden incluirse en el flujo de bits de ICBWE 242. El flujo de bits de ICBWE 242 puede transmitirse desde el codificador 200 al decodificador. Las operaciones asociadas con el codificador de ICBWE 204 se describen con más detalle con respecto a las Figuras 4-5. Por tanto, el codificador de ICBWE 204 de la Figura 2A puede estimar los parámetros de mapeo de forma espectral, cuantificar los parámetros de mapeo de forma espectral en el flujo de bits de ICBWE 242, y transmitir el flujo de bits de ICBWE 242 al decodificador.
El codificador 200 de la Figura 2A puede recibir dos canales 212, 214 y realizar una mezcla descendente de los canales 212, 214 para generar el canal medio 222, el flujo de bits de mezcla descendente 216, y, en algunas implementaciones, el canal lateral de banda baja 224. El codificador 200 puede codificar el canal medio 222 y el canal lateral de banda baja 224 mediante el uso del codificador de banda baja 208 para generar el flujo de bits de banda baja 246. El codificador 200 también puede generar información de mapeo que indica cómo mapear los canales de banda alta decodificados izquierdo y derecho (en el decodificador) desde un canal medio de banda alta (en el decodificador) mediante el uso del codificador de ICBWE 204.
El codificador de ICBWE 204 de la Figura 2A puede estimar los parámetros de mapeo espectral en base a una medida de máxima probabilidad, o una medida de reducción de la distorsión espectral de lazo abierto o de lazo cerrado de manera que una envolvente espectral de un canal de banda alta de no referencia sintetizada de forma espectral es sustancialmente similar a una envolvente espectral de un canal de destino de no referencia. Los parámetros de mapeo espectral pueden transmitirse al decodificador 300 en el flujo de bits de ICBWE 242 y usarse en el decodificador 300 para generar las señales de salida que tienen artefactos reducidos.
Con referencia a la Figura 2B, se muestra una implementación particular del codificador de BWE de canal medio 206. El codificador de BWE de canal medio 206 incluye un estimador de coeficiente de predicción lineal (LPC) 251, un cuantificador de LPC 252 y un filtro de síntesis de LPC 259. El canal medio de banda alta 292 se proporciona al estimador de LPC 251, y el estimador de LPC 251 puede configurarse para predecir los LPC de banda alta 271 en base al canal medio de banda alta 292. Los LPC de banda alta 271 se proporcionan al cuantificador de LPC 252. El cuantificador de LPC 252 puede configurarse para cuantificar los LPC de banda alta para generar los LPC de banda alta cuantificados 457 y un flujo de bits de LPC de banda alta 272. Los LPC cuantificados 457 se proporcionan al filtro de síntesis de LPC 259, y el flujo de bits de LPC de banda alta se proporciona a un multiplexor 265.
El codificador de BWE de canal medio 206 también incluye un generador de excitación de banda alta 299 que incluye un generador de BWE no lineal 253, un generador de ruido aleatorio 254, un multiplicador de señal 255, un modulador de envolvente de ruido 256, un sumador 257, y un multiplicador 258. La excitación de banda baja 232 desde el codificador de banda baja 208 se proporciona al generador de BWE no lineal 253. El generador de BWE no lineal 253 puede realizar una extensión no lineal en la excitación de banda baja 232 para generar una excitación de banda alta armónica 237. La excitación de banda alta armónica 237 puede incluirse en uno o más parámetros 234. La excitación de banda alta armónica 237 se proporciona al multiplicador de señal 255 y al modulador de envolvente de ruido 256. El multiplicador de señal puede configurarse para ajustar la excitación de banda alta armónica 237 en base a un factor de ganancia (Ganancia (1)) para generar una excitación de banda alta armónica con ajuste de ganancia 273. La excitación de banda alta armónica con ajuste de ganancia 273 se proporciona al sumador 257. El generador de ruido aleatorio 254 puede configurarse para generar el ruido 274 que se proporciona al modulador de envolvente de ruido 256. El modulador de envolvente de ruido 256 puede configurarse para modular el ruido 274 en base a la excitación de banda alta armónica 237 para generar ruido modulado 482. El ruido modulado 482 se proporciona al multiplicador de señal 258. El multiplicador de señal 258 puede configurarse para ajustar el ruido modulado 482 en base a un factor de ganancia (Ganancia (2)) para generar el ruido modulado con ajuste de ganancia 275. El ruido modulado con ajuste de ganancia 275 se proporciona al sumador 257, y el sumador 257 puede configurarse para agregar la excitación de banda alta armónica con ajuste de ganancia 273 y el ruido modulado con ajuste de ganancia 275 para generar una excitación de banda alta 276. La excitación de banda alta 276 se proporciona al filtro de síntesis de LPC 259.
Se debe señalar que, en algunas implementaciones, la Ganancia (1) y la Ganancia (2) pueden ser vectores con cada valor del vector correspondiente a un factor de escala de la señal correspondiente en subtramas.
El filtro de síntesis de LPC 259 puede configurarse para aplicar los LPC cuantificados 457 a la excitación de banda alta 276 para generar un canal medio de banda alta sintetizado 277. El canal medio de banda alta sintetizado 277 se proporciona a un estimador de forma de ganancia de banda alta 260 y a un escalador de forma de ganancia de banda alta 262. El canal medio de banda alta 292 también se proporciona al estimador de forma de ganancia de banda alta 260. El estimador de forma de ganancia de banda alta 260 puede configurarse para generar los parámetros de forma de ganancia de banda alta 278 en base al canal medio de banda alta 292 y al canal medio de banda alta sintetizado 277. Los parámetros de forma de ganancia de banda alta 278 se proporcionan a un cuantificador de forma de ganancia de banda alta 261.
El cuantificador de forma de ganancia de banda alta 261 puede configurarse para cuantificar los parámetros de forma de ganancia de banda alta 278 y generar los parámetros de forma de ganancia de banda alta cuantificados 279. Los parámetros de forma de ganancia de banda alta cuantificados 279 se proporcionan al escalador de forma de ganancia de banda alta 262. El cuantificador de forma de ganancia de banda alta 261 también puede configurarse para generar un flujo de bits de forma de ganancia de banda alta 280 que se proporciona al multiplexor 265.
El escalador de forma de ganancia de banda alta 262 puede configurarse para escalar el canal medio de banda alta sintetizado 277 en base a los parámetros de forma de ganancia de banda alta cuantificados 279 para generar un canal medio de banda alta sintetizado escalado 281. El canal medio de banda alta sintetizado escalado 281 se proporciona a un estimador de trama de ganancia de banda alta 263. El estimador de trama de ganancia de banda alta 263 puede configurarse para estimar los parámetros de trama de ganancia de banda alta 282 en base al canal medio de banda alta sintetizado escalado 281. Los parámetros de trama de ganancia de banda alta 282 se proporcionan a un cuantificador de trama de ganancia de banda alta 264.
El cuantificador de trama de ganancia de banda alta 264 puede configurarse para cuantificar los parámetros de trama de ganancia de banda alta 282 para generar un flujo de bits de trama de ganancia de banda alta 283. El flujo de bits de trama de ganancia de banda alta 283 se proporciona al multiplexor 265. El multiplexor 265 puede configurarse para combinar el flujo de bits de LPC de banda alta 272, el flujo de bits de forma de ganancia de banda alta 280, el flujo de bits de trama de ganancia de banda alta 283, y otra información para generar el flujo de bits de canal medio de banda alta 244. De acuerdo con una implementación, la otra información puede incluir la información asociada con el ruido modulado 482, la excitación de banda alta armónica 237, los LPC de banda alta cuantificados 457, etcétera. Como se describió con mayor detalle con respecto a la Figura 4, el codificador de ICBWE 204 puede usar la información proporcionada al multiplexor 265 para las operaciones de procesamiento de señales.
Con referencia a la Figura 3A, se muestra una implementación particular del decodificador 300 operable para realizar el mapeo de forma espectral. El decodificador 300 incluye un decodificador de BWE de canal medio 302, un decodificador de banda baja 304, un decodificador de ICBWE 306, un mezclador ascendente de banda baja 308, un combinador de señales 310, un combinador de señales 312, y un desplazador intercanales 314.
El flujo de bits de banda baja 246, transmitido desde el codificador 200, puede proporcionarse al decodificador de banda baja 304. Como se describió anteriormente, el flujo de bits de banda baja 246 puede incluir el flujo de bits de canal medio de banda baja y el flujo de bits de canal lateral de banda baja. El decodificador de banda baja 304 puede configurarse para decodificar el flujo de bits de canal medio de banda baja para generar un canal medio de banda baja 326 que se proporciona al mezclador ascendente de banda baja 308. El decodificador de banda baja 304 también puede configurarse para decodificar el flujo de bits de canal lateral de banda baja para generar un canal lateral de banda baja 328 que se proporciona al mezclador ascendente de banda baja 308. El decodificador de banda baja 304 también puede configurarse para generar una señal de excitación de banda baja 325 que se proporciona al decodificador de BWE de canal medio 302.
El decodificador de BWE de canal medio 302 puede configurarse para decodificar el flujo de bits de canal medio de banda alta 244 en base a la señal de excitación de banda baja 325 para generar uno o más parámetros 322 (por ejemplo, una excitación de banda alta armónica, el ruido modulado, las formas de ganancia cuantificada, los coeficientes de predicción lineal cuantificados (LPC), las tramas de ganancia cuantificadas, etcétera) y un canal medio de banda alta 324. Uno o más parámetros 322 pueden corresponder a uno o más parámetros 234 de la Figura 2A. De acuerdo con una implementación, el decodificador de BWE de canal medio 302 puede usar la decodificación de extensión de ancho de banda en el dominio del tiempo para decodificar el flujo de bits de canal medio de banda alta 244. Uno o más parámetros 322 y el canal medio de banda alta 324 se proporcionan al decodificador de ICBWE 306.
El flujo de bits de ICBWE 242 también se puede proporcionar al decodificador de ICBWE 306. El decodificador de ICBWE 306 puede configurarse para generar un canal de banda alta izquierdo 330 y un canal derecho de banda alta 332 en base al flujo de bits de ICBWE 242, uno o más parámetros 322 y el canal medio de banda alta 324. Por tanto, en base al flujo de bits de ICBWE 242 y las señales y parámetros de la decodificación de BWE del canal medio, el decodificador de ICBWE 306 puede generar los canales decodificados izquierdo y derecho de banda alta 330, 332. Las operaciones asociadas con el decodificador de ICBWE 306 se describen con más detalle con respecto a la Figura 6. El canal de banda alta izquierdo 330 se proporciona al combinador de señales 310, y el canal derecho de banda alta 332 se proporciona al combinador de señales 312. El mezclador ascendente de banda baja 308 puede configurarse para mezclar ascendentemente el canal medio de banda baja 326 y el canal lateral de banda baja 328 en base al flujo de bits de mezcla descendente 216 para generar un canal izquierdo de banda baja 334 y un canal derecho de banda baja 336. El canal izquierdo de banda baja 334 se proporciona al combinador de señales 310, y el canal derecho de banda baja 336 se proporciona al combinador de señales 312.
El combinador de señales 310 puede configurarse para combinar el canal de banda alta izquierdo 330 y el canal de banda baja izquierdo 334 para generar un canal izquierdo no desplazado 340. El canal izquierdo no desplazado 340 se proporciona al desplazador intercanales 314. El combinador de señales 312 puede configurarse para combinar el canal derecho de banda alta 332 y el canal derecho de banda baja 336 para generar un canal derecho no desplazado 342. El canal derecho no desplazado 342 se proporciona al desplazador intercanales 314. Se debe señalar que, en algunas implementaciones, las operaciones asociadas con el desplazador intercanales 314 pueden omitirse. Por ejemplo, si el mezclador descendente en el codificador correspondiente no se configura para desplazar ninguno de los canales antes de la generación del canal medio y del canal lateral, las operaciones asociadas con el desplazador intercanales 314 pueden omitirse. El desplazador intercanales 314 puede configurarse para desplazar el canal izquierdo no desplazado 340 en base a la información de desplazamiento asociada con el flujo de bits de mezcla descendente 216 para generar un canal izquierdo 350. El desplazador intercanales 314 también puede configurarse para desplazar el canal derecho no desplazado 342 en base a la información de desplazamiento asociada con el flujo de bits de mezcla descendente 216 para generar un canal derecho 352. Por ejemplo, el desplazador intercanales 314 puede usar la información de desplazamiento del flujo de bits de mezcla descendente 216 para desplazar el canal izquierdo no desplazado 340, el canal derecho no desplazado 342 o una combinación de los mismos, para generar los canales izquierdo y derecho 350, 352. De acuerdo con una implementación, el canal izquierdo 350 es una versión decodificada del canal izquierdo 212, y el canal derecho 352 es una versión decodificada del canal derecho 214.
Con referencia a la Figura 3B, se muestra una implementación particular del decodificador de BWE de canal medio 302. El decodificador de BWE de canal medio 302 incluye un descuantificador de LPC 360, un generador de excitación de banda alta 362, un filtro de síntesis de LPC 364, un descuantificador de forma de ganancia de banda alta 366, un escalador de forma de ganancia de banda alta 368, un descuantificador de trama de ganancia de banda alta 370, y un escalador de trama de ganancia de banda alta 372.
El flujo de bits de LPC de banda alta 272 se proporciona al descuantificador de LPC 360. El descuantificador de LPC puede extraer los LPC de banda alta cuantificados 640 del flujo de bits de LPC de banda alta 272. Como se describió con respecto a la Figura 6, el decodificador de ICBWE 306 puede usar los LPC de banda alta cuantificados 640 para las operaciones de procesamiento de señales.
La señal de excitación de banda baja 325 se proporciona al generador de excitación de banda alta 362. El generador de excitación de banda alta 362 puede generar una excitación de banda alta armónica 630 en base a la señal de excitación de banda baja 325 y puede generar el ruido modulado 632. Como se describió con respecto a la Figura 6, la excitación de banda alta armónica 630 y el ruido modulado 632 pueden usarse por el decodificador de ICBWE 306 para las operaciones de procesamiento de señales. El generador de excitación de banda alta 362 también puede generar una excitación de banda alta 380. El generador de excitación de banda alta 362 puede configurarse para funcionar de una manera sustancialmente similar al generador de excitación de banda alta 299 de la Figura 2B. Por ejemplo, el generador de excitación de banda alta 362 puede realizar operaciones similares en la señal de excitación de banda baja 325 (como lo hace el generador de excitación de banda alta 299 en la excitación de banda baja 232) para generar la excitación de banda alta 380. De acuerdo con una implementación, la excitación de banda alta 380 puede ser sustancialmente similar a la excitación de banda alta 276 de la Figura 2B. La excitación de banda alta 380 se proporciona al filtro de síntesis de LPC 364. El filtro de síntesis de LPC 364 puede aplicar los LPC de banda alta cuantificados 640 a la excitación de banda alta 380 para generar un canal medio de banda alta sintetizado 382. El canal medio de banda alta sintetizado 382 se proporciona al escalador de forma de ganancia de banda alta 368.
El flujo de bits de forma de ganancia de banda alta 280 se proporciona al descuantificador de forma de ganancia de banda alta 366. El descuantificador de forma de ganancia de banda alta 366 puede configurarse para extraer una forma de ganancia de banda alta cuantificada 648 del flujo de bits de forma de ganancia de banda alta 280. La forma de ganancia de banda alta cuantificada 648 se proporciona al escalador de forma de ganancia de banda alta 368 y al decodificador de ICBWE 306 para las operaciones de procesamiento de señales, como se describió con respecto a la Figura 6. La escala de forma de ganancia de banda alta 368 puede configurarse para escalar el canal medio de banda alta sintetizado 382 en base a la forma de ganancia de banda alta cuantificada 648 para generar un canal medio de banda alta sintetizado escalado 384. El canal medio de banda alta sintetizado escalado 384 se proporciona al escalador de trama de ganancia de banda alta 372.
El flujo de bits de trama de ganancia de banda alta 283 se proporciona al descuantificador de trama de ganancia de banda alta 370. El descuantificador de trama de ganancia de banda alta 370 puede configurarse para extraer una trama de ganancia de banda alta cuantificada 652 del flujo de bits de trama de ganancia de banda alta 283. La trama de ganancia de banda alta cuantificada 652 se proporciona al escalador de trama de ganancia de banda alta 372 y al decodificador de ICBWE 306 para las operaciones de procesamiento de señales, como se describió con respecto a la Figura 6. El escalador de trama de ganancia de banda alta 372 puede aplicar la trama de ganancia de banda alta cuantificada 652 al canal medio de banda alta sintetizado escalado 384 para generar un canal medio de banda alta decodificado 662. El canal medio de banda alta decodificado 662 se proporciona al decodificador de ICBWE 306 para las operaciones de procesamiento de señales, como se describió con respecto a la Figura 6.
Con referencia a las Figuras 4-5, se muestra una implementación particular del codificador de ICBWE 204. Una primera porción 204a del codificador de ICBWE 204 se muestra en la Figura 4, y una segunda porción 204b del codificador de ICBWE 204 se muestra en la Figura 5.
La primera porción 204a del codificador de ICBWE 204 incluye una unidad de determinación de canal de referencia de banda alta 404 y un codificador indicador de canal de referencia de banda alta 406. El canal izquierdo 212 y el canal derecho 214 se proporcionan a la unidad de determinación del canal de referencia de banda alta 404. La unidad de determinación de canal de referencia de banda alta 404 puede configurarse para determinar si el canal izquierdo 212 o el canal derecho 214 es el canal de referencia de banda alta. Por ejemplo, la unidad de determinación de canal de referencia de banda alta 404 puede generar un indicador de canal de referencia de banda alta 440 que indica si se usa el canal izquierdo 212 o el canal derecho 214 para estimar el canal de no referencia de banda alta 459. El indicador de canal de referencia de banda alta 440 puede estimarse en base a las energías de los canales izquierdo y derecho 212, 214, el desplazamiento intercanal entre los canales izquierdo y derecho 212, 214, el indicador de canal de referencia generado en el módulo de mezcla descendente, el indicador de canal de referencia en base a la estimación de desplazamiento no casual, y las energías de los canales izquierdo y derecho de banda alta.
El indicador de canal de referencia de banda alta 440 puede determinarse mediante el uso de técnicas de múltiples etapas donde cada etapa mejora una salida de una etapa anterior para determinar el indicador de canal de referencia de banda alta 440. Por ejemplo, en una primera etapa, la unidad de determinación de canal de referencia de banda alta 404 puede generar el indicador de canal de referencia de banda alta 440 en base a una señal de referencia. Para ilustrar, la unidad de determinación de canal de referencia de banda alta 404 puede generar el indicador de canal de referencia de banda alta 440 para indicar que el canal derecho 214 se designa como un canal de referencia de banda alta en respuesta a determinar que la señal de referencia indica que la segunda señal de audio 132 (por ejemplo, una señal de audio derecha) se designa como una señal de referencia. Alternativamente, la unidad de determinación de canal de referencia de banda alta 404 puede generar el indicador de canal de referencia de banda alta 440 para indicar que el canal izquierdo 212 se designa como un canal de referencia de banda alta en respuesta a determinar que la señal de referencia indica que la primera señal de audio 130 (por ejemplo, una señal de audio izquierda) se designa como una señal de referencia.
En una segunda etapa, la unidad de determinación de canal de referencia de banda alta 404 puede refinar (por ejemplo, actualizar) el indicador de canal de referencia de banda alta 440 en base a un parámetro de ganancia, una primera energía asociada con el canal izquierdo 212, una segunda energía asociada con el canal derecho 214 o una combinación de los mismos. Por ejemplo, la unidad de determinación de canal de referencia de banda alta 404 puede establecer (por ejemplo, actualizar) el indicador de canal de referencia de banda alta 440 para indicar que el canal izquierdo 212 se designa como un canal de referencia y que el canal derecho 214 se designa como un canal de no referencia en respuesta a determinar que el parámetro de ganancia satisface un primer umbral, que una relación de la primera energía (por ejemplo, la energía de banda completa izquierda) y la energía derecha (por ejemplo, la energía de banda completa derecha) satisface un segundo umbral o ambos. Como otro ejemplo, la unidad de determinación de canal de referencia de banda alta 404 puede establecer (por ejemplo, actualizar) el indicador de canal de referencia de banda alta 440 para indicar que el canal derecho 214 se designa como un canal de referencia y que el canal izquierdo 212 se designa como un canal de no referencia en respuesta a determinar que el parámetro de ganancia no satisface el primer umbral, que la relación de la primera energía (por ejemplo, la energía de banda completa izquierda) y la energía derecha (por ejemplo, la energía de banda completa derecha) no satisface el segundo umbral o ambos.
En una tercera etapa, la unidad de determinación de canal de referencia de banda alta 404 puede refinar (por ejemplo, actualizar más) el indicador de canal de referencia de banda alta 440 en base a la energía izquierda y la energía derecha. Por ejemplo, la unidad de determinación de canal de referencia de banda alta 404 puede establecer (por ejemplo, actualizar) el indicador de canal de referencia de banda alta 440 para indicar que el canal izquierdo 212 se designa como un canal de referencia y que el canal derecho 214 se designa como un canal de no referencia en respuesta a determinar que una relación de la energía izquierda (por ejemplo, la energía de HB izquierda) y la energía derecha (por ejemplo, la energía de HB derecha) satisface un umbral. Como otro ejemplo, la unidad de determinación de canal de referencia de banda alta 404 puede establecer (por ejemplo, actualizar) el indicador de canal de referencia de banda alta 440 para indicar que el canal derecho 214 se designa como un canal de referencia y que el canal izquierdo 212 se designa como un canal de no referencia en respuesta a determinar que una relación de la energía izquierda (por ejemplo, la energía de HB izquierda) y la energía derecha (por ejemplo, la energía de HB derecha) no satisface un umbral. El codificador de indicador de canal de referencia de banda alta 406 puede codificar el indicador de canal de referencia de banda alta 440 para generar un flujo de bits de indicador de canal de referencia de banda alta 442.
La primera porción 204a del codificador de ICBWE 204 también incluye un generador de excitación de banda alta de no referencia 408, un filtro de síntesis de coeficiente de predicción lineal (LPC) 410, un generador de canal de destino de banda alta 412, un estimador de mapeo espectral 414, y un cuantificador de mapeo espectral 416. El generador de excitación de banda alta de no referencia 408 incluye un multiplicador de señal 418, un multiplicador de señal 420 y un combinador de señal 422.
La excitación de banda alta armónica no lineal 237 se proporciona al multiplicador de señal 418, y el ruido modulado 482 se proporciona al multiplicador de señal 420. En una implementación particular, la excitación de banda alta armónica no lineal 237 puede basarse en un modelado armónico (por ejemplo, (.)A2 o || que es diferente del modelado armónico usado para la generación de excitación de banda media alta 232. En una implementación alternativa, la excitación de banda alta armónica no lineal 237 puede basarse en la señal de excitación de banda baja de no referencia. El ruido modulado 482 puede basarse en el ruido modulado de envolvente de la señal de excitación de banda alta armónica no lineal 237 o la señal de excitación de banda alta 232. En otra implementación alternativa, el ruido modulado 482 puede ser ruido aleatorio que se forma temporalmente en base a una señal de excitación de banda alta armónica no lineal blanqueada 237. La conformación temporal puede basarse en un filtro adaptativo de primer orden controlado por el factor de voz.
El multiplicador de señal 418 aplica una ganancia (Ganancia(a)) a la excitación de banda alta armónica 237 para generar una excitación de banda alta armónica con ajuste de ganancia 452, y el multiplicador de señal 420 aplica una ganancia (Ganancia(b)) al ruido modulado 482 para generar el ruido modulado con ajuste de ganancia 454. La excitación de banda alta armónica con ajuste de ganancia 452 y el ruido modulado con ajuste de ganancia 454 se proporcionan al combinador de señal 422. El combinador de señales 422 puede configurarse para combinar la excitación de banda alta armónica con ajuste de ganancia 452 y el ruido modulado con ajuste de ganancia 454 para generar una excitación de banda alta de no referencia 456. La excitación de banda alta de no referencia 456 puede generarse de manera similar a la excitación del canal medio de banda alta. Sin embargo, las ganancias (Ganancia(a) y Ganancia(b)) pueden ser versiones modificadas de las ganancias usadas para generar la excitación del canal medio de banda alta en base a las energías relativas de la referencia de banda alta y los canales de no referencia de banda alta, el ruido de fondo del canal de no referencia de banda alta, etcétera.
Se debe señalar que, en algunas implementaciones, la Ganancia(a) y la Ganancia(b) pueden ser vectores con cada valor del vector correspondiente a un factor de escala de la señal correspondiente en las subtramas.
Las ganancias de mezcla (Ganancia(a) y Ganancia(b)) también pueden basarse en los factores de voz correspondientes a un canal medio de banda alta, un canal de no referencia de banda alta, o derivado del factor de voz de banda baja o la información de voz. Las ganancias de mezcla (Ganancia(a) y Ganancia(b)) también pueden basarse en la envolvente espectral correspondiente al canal medio de banda alta y al canal de no referencia de banda alta. En otra implementación alternativa, las ganancias de mezcla (Ganancia(a) y Ganancia(b)) pueden basarse en el número de hablantes o fuentes de fondo en la señal y la característica sonora-sorda de los canales izquierdo (o de referencia, de destino) y derecho (o de destino, de referencia).
La excitación de banda alta de no referencia 456 se proporciona al filtro de síntesis de LPC 410. El filtro de síntesis de LPC 410 puede configurarse para generar una banda alta de no referencia sintetizada 458 en base a la excitación de banda alta de no referencia 456 y los LPC de banda alta cuantificados 457 (por ejemplo, los LPC de canal medio de banda alta). Por ejemplo, el filtro de síntesis de LPC 410 puede aplicar los LPC de banda alta cuantificados 457 a la excitación de banda alta de no referencia 456 para generar la banda alta de no referencia sintetizada 458. La banda alta de no referencia sintetizada 458 se proporciona al estimador de mapeo espectral 414.
El indicador de canal de referencia de banda alta 440 puede proporcionarse (como una señal de control) a un conmutador 424 que recibe el canal izquierdo 212 y el canal derecho 214 como entradas. En base al indicador de canal de referencia de banda alta 440, el conmutador 424 puede proporcionar el canal izquierdo 212 o el canal derecho 214 al generador de canal de destino de banda alta 412 como un canal de no referencia 459. Por ejemplo, si el indicador de canal de referencia de banda alta 440 indica que el canal izquierdo 212 es el canal de referencia, el conmutador 424 puede proporcionar el canal derecho 214 al generador de canal de destino de banda alta 412 como el canal de no referencia 459. Si el indicador de canal de referencia de banda alta 440 indica que el canal derecho 214 es el canal de referencia, el conmutador 424 puede proporcionar el canal izquierdo 212 al generador de canal de destino de banda alta 412 como el canal de no referencia 459.
El generador de canal de destino de banda alta 412 puede filtrar los componentes de señal de banda baja del canal de no referencia 459 para generar un canal de banda alta de no referencia 460 (por ejemplo, la porción de banda alta del canal de no referencia 459). En algunas implementaciones, el canal de banda alta de no referencia 460 puede invertirse espectralmente en base a las operaciones de procesamiento de señales adicionales (por ejemplo, una operación de inversión espectral). El canal de banda alta de no referencia 460 se proporciona al estimador de mapeo espectral 414. El estimador de mapeo espectral 414 puede configurarse para generar los parámetros de mapeo espectral 462 que mapean el espectro (o energías) del canal de banda alta de no referencia 460 al espectro de la banda alta de no referencia sintetizada 458. Por ejemplo, el estimador de mapeo espectral 414 puede generar los coeficientes de filtro que mapean el espectro del canal de banda alta de no referencia 460 al espectro de la banda alta de no referencia sintetizada 458. Por ejemplo, el estimador de mapeo espectral 414 determina los parámetros de mapeo espectral 462 que mapean la envolvente espectral de la banda alta de no referencia sintetizada 458 para que sea sustancialmente aproximada a la envolvente espectral del canal de banda alta de no referencia 460 (por ejemplo, la señal de banda alta de no referencia). Los parámetros de mapeo espectral 462 se proporcionan al cuantificador de mapeo espectral 416. El cuantificador de mapeo espectral 416 puede configurarse para cuantificar los parámetros de mapeo espectral 462 para generar un flujo de bits de mapeo espectral de banda alta 464 y los parámetros de mapeo espectral cuantificados 466. Los parámetros de mapeo espectral cuantificados i
i-Z¿u¿z-466 pueden aplicarse como un filtro (por ejemplo ), dónde son los parámetros de mapeo espectral cuantificados 466.
La segunda porción 204b del codificador de ICBWE 204 incluye un aplicador de mapeo espectral 502, un cuantificador y estimador de mapeo de ganancia 504, y un multiplexor 590. La banda alta de no referencia sintetizada 458 y los parámetros de mapeo espectral cuantificados 466 se proporcionan al aplicador de mapeo espectral 502. El aplicador de mapeo espectral 502 puede configurarse para generar una banda alta de no referencia sintetizada de forma espectral 514 en base a la banda alta de no referencia sintetizada 458 y los parámetros de mapeo espectral cuantificados 466. Por ejemplo, el aplicador de mapeo espectral 502 puede aplicar los parámetros de mapeo espectral cuantificados a la banda alta de no referencia sintetizada 458 para generar la banda alta de no referencia sintetizada de forma espectral 514. En otras implementaciones alternativas, el aplicador de mapeo espectral 502 puede aplicar los parámetros de mapeo espectral 462 (por ejemplo, el parámetro no cuantificado) a la banda alta de no referencia sintetizada 458 para generar la banda alta de no referencia sintetizada de forma espectral 514. La banda alta de no referencia sintetizada de forma espectral 514 puede usarse para estimar los parámetros de mapeo de ganancia de banda alta. Por ejemplo, la banda alta de no referencia sintetizada de forma espectral 514 se proporciona al cuantificador y estimador de mapeo de ganancia 504.
Por lo tanto, el estimador de mapeo espectral 414 puede usar una aplicación de forma espectral que filtra mediante
h(z ) = ■ 1-ZiUiZ 1
el uso de un filtro . El estimador de mapeo espectral 414 puede estimar y cuantificar un valor para el parámetro (u). En una implementación de ejemplo, el filtro h(z) puede ser un filtro de primer orden y la envolvente espectral de una señal puede aproximarse como una relación de los coeficientes de autocorrelación de índice de retraso uno (retraso (1)) e índice de retraso cero (retraso (0)). Si t(n) representa la nésima muestra del canal de banda alta de no referencia 460, x(n) representa la nésima muestra de la banda alta de no referencia sintetizada 458, y (n) representa la nésima muestra de la banda alta de no referencia sintetizada de forma espectral 514, entonces
y(n) = h(n) © x(n) donde @ es el símbolo de la operación de convolución de la señal.
Figure imgf000015_0001
rss(n ) = £ “ _M s (¿) * s(¿ n ) La envolvente espectral de una señal s(n) puede expresarse como , donde
y(n ) = h(n) © x(n) ryy(n) = rhh{n) © rxx(_n) es la autocorrelación de la señal en retraso(n). Debido a . Para resolver (u¡, i = 0,1) de manera que la envolvente de y(n) sea aproximada a la envolvente de t(n), la envolvente (T)
Ir tt(X ) UV) - 1 uc iv rM ( > ~ ny ijucuc oci iyuai a r „ ( 0) . Además, se puede demostrar que, i
Figure imgf000015_0002
-»*"1 . Por
tanto, el codificador 200 puede determinar la envolvente (T), de manera que
Se debe señalar que cuando los valores ryy se expanden, potencialmente podría haber muchas aproximaciones para obtener múltiples aproximaciones posibles del valor de u. Se pueden obtener soluciones tanto iterativas como analíticas para la ecuación anterior. En la presente memoria se describe un ejemplo no limitativo de una solución analítica. Al expandir la ecuación anterior a términos con el exponente de u hasta dos, el resultado es:
a * u 2 b * u c = 0,
donde,
Figure imgf000016_0001
Pueden existir dos posibles soluciones para (u) debido a la naturaleza de las ecuaciones cuadráticas. Debido a que las dos posibles soluciones pueden ser reales o imaginarias, si b2 - 4 * a * c es > 0, hay dos soluciones reales. De lo contrario, hay dos soluciones imaginarias. En algunas implementaciones, para permitir una evolución controlada de los parámetros a, b, y c para estimar el parámetro de mapeo espectral (u), los valores de correlación normalizados intermedios T, rxx (1) /rxx (0), rxx (2) /rxx (0), y rxx (3) /rxx (0) se suavizan o condicionan temporalmente (por ejemplo, mediante el uso de un filtro de primer orden IIR o un filtro de media móvil).
Debido a que, en general, el canal de no referencia tiene una caída más pronunciada de la energía espectral a frecuencias más altas, se pueden preferir valores más pequeños de (u) (incluidos los valores negativos). Un valor más pequeño de (u) envuelve la señal de manera que hay una caída más pronunciada de la energía espectral a frecuencias más altas. De acuerdo con una implementación, pueden usarse los valores de (u) cuyo valor absoluto es < 1 (es decir, |unnal| < 1).
Si no hay soluciones reales, la (u) de la trama anterior puede usarse como la (u) de la trama actual. Si hay una o más soluciones reales y no hay una solución real con un valor absoluto menor que uno, el valor ufinal de la trama anterior puede usarse para la trama actual. Si hay una o más soluciones reales y hay una solución real con un valor absoluto menor que uno, la trama actual puede usar la solución real como el valor ufinal. Si hay una o más soluciones reales y hay más de una solución real con un valor absoluto menor que uno, la trama actual puede usar el valor más pequeño (u) como el valor ufinal o la trama actual puede usar el valor (u) más cercano al valor (u) de la trama anterior.
Alternativamente, los parámetros de mapeo espectral pueden estimarse en base al análisis espectral del canal de banda alta de no referencia y la excitación de banda alta de no referencia 456, para maximizar la coincidencia espectral entre la señal de HB de no referencia de forma espectral y el canal de destino de HB de no referencia. En otra implementación, los parámetros de mapeo espectral pueden basarse en el análisis LP del canal de banda alta de no referencia y el canal medio de banda alta sintetizado 520 o el canal medio de banda alta sintetizado 292.
Un canal de banda alta no de referencia 516, un canal medio de banda alta sintetizado 520 y el canal medio de banda alta 292 también se proporcionan al cuantificador y estimador de mapeo de ganancia 504. El cuantificador y estimador de mapeo de ganancia 504 pueden generar un flujo de bits de mapeo de ganancia de banda alta 522 y un flujo de bits de mapeo de ganancia de banda alta cuantificado 524 en base a la banda alta de no referencia sintetizada de forma espectral 514, el canal de banda alta de no referencia 516, el canal medio de banda alta sintetizado 520, y el canal medio de banda alta 292. Por ejemplo, el cuantificador y estimador de mapeo de ganancia 504 pueden generar un conjunto de parámetros de ajuste de ganancia en base al canal medio de banda alta sintetizado 520 y la banda alta de no referencia sintetizada de forma espectral 514. Para ilustrar, el cuantificador y estimador de mapeo de ganancia 504 pueden determinar una ganancia de banda alta sintetizada correspondiente a una diferencia (o relación) entre una energía (o potencia) del canal medio de banda alta sintetizado 510 y una energía (o potencia) de la banda alta de no referencia sintetizada de forma espectral 514. El conjunto de parámetros de ajuste de ganancia puede indicar la ganancia de banda alta sintetizada.
El cuantificador y estimador de mapeo de ganancia 504 pueden generar el primer conjunto de parámetros de ajuste de ganancia en base a un conjunto de parámetros de ajuste de ganancia y a un conjunto previsto de parámetros de ajuste de ganancia. Por ejemplo, el primer conjunto de parámetros de ajuste de ganancia puede indicar una diferencia entre el conjunto de parámetros de ajuste de ganancia y el conjunto previsto de parámetros de ajuste de ganancia. Como otro ejemplo, el primer conjunto de parámetros de ajuste de ganancia puede corresponder a un producto del conjunto previsto de parámetros de ajuste de ganancia y la relación de la primera energía del canal medio de banda alta sintetizado 520 y la segunda energía de la banda alta de no referencia sintetizada de forma espectral 514 (por ejemplo, el primer conjunto de parámetros de ajuste de ganancia = el conjunto previsto de parámetros de ajuste de ganancia * (primera energía del canal medio de banda alta sintetizado 520/segunda energía de la banda alta de no referencia sintetizada de forma espectral 514 ).
El flujo de bits de indicador de canal de referencia de banda alta 442, el flujo de bits de mapeo espectral de banda alta 464, y el flujo de bits de mapeo de ganancia de banda alta 522 se proporcionan al multiplexor 590. El multiplexor 590 puede configurarse para generar el flujo de bits de ICBWE 242 multiplexando el flujo de bits de indicador de canal de referencia de banda alta 442, el flujo de bits de mapeo espectral de banda alta 464, y el flujo de bits de mapeo de ganancia de banda alta 522. El flujo de bits de ICBWE 242 puede transmitirse a un decodificador, tal como el decodificador 300 de la Figura 3A.
Con referencia a la Figura 6, se muestra una implementación particular del decodificador de ICBWE 306. El decodificador de ICBWE 306 incluye un generador de excitación de banda alta de no referencia 602, un filtro de síntesis de LPC 604, un aplicador de mapeo espectral 606, un descuantificador de mapeo espectral 608, un escalador de forma de ganancia de banda alta 610, un escalador de ganancia de banda alta de no referencia 612, un descuantificador de mapeo de ganancia 616, un escalador de ganancia de banda alta de referencia 618, y un mapeador de canal de banda alta 620. El generador de excitación de banda alta de no referencia 602 incluye un multiplicador de señal 622, un multiplicador de señal 624 y un combinador de señal 626.
Se proporciona una excitación de banda alta armónica 630 (generada desde el flujo de bits de banda baja 246) al multiplicador de señal 622, y se proporciona el ruido modulado 632 al multiplicador de señal 624. El multiplicador de señal 622 aplica una ganancia (Ganancia(a)) a la excitación de banda alta armónica 630 para generar una excitación de banda alta armónica con ajuste de ganancia 634, y el multiplicador de señal 624 aplica una ganancia (Ganancia(b)) al ruido modulado 632 para generar el ruido modulado con ajuste de ganancia 636. Se debe señalar que, en algunas implementaciones, la Ganancia(a) y la Ganancia(b) pueden ser vectores con cada valor del vector correspondiente a un factor de escala de la señal correspondiente en las subtramas. Las ganancias de mezcla (Ganancia(a) y Ganancia(b)) también pueden basarse en los factores de voz correspondientes al canal medio de banda alta sintetizado, al canal de no referencia de banda alta sintetizado, o derivado del factor de voz de banda baja o de la información de voz. Las ganancias de mezcla (Ganancia(a) y Ganancia(b)) también pueden basarse en la envolvente espectral correspondiente al canal medio de banda alta sintetizado, al canal de no referencia de banda alta sintetizado, o derivado del factor de voz de banda baja o de la información de voz. En otra implementación alternativa, las ganancias de mezcla (Ganancia(a) y Ganancia(b)) pueden basarse en el número de hablantes o fuentes de fondo en la señal y la característica sonora-sorda de los canales izquierdo (o de referencia, de destino) y derecho (o de destino, de referencia). La excitación de banda alta armónica con ajuste de ganancia 634 y el ruido modulado con ajuste de ganancia 636 se proporcionan al combinador de señal 626. El combinador de señales 626 puede configurarse para combinar la excitación de banda alta armónica con ajuste de ganancia 634 y el ruido modulado con ajuste de ganancia 636 para generar una excitación de banda alta de no referencia 638. Por tanto, la excitación de banda alta de no referencia 638 puede generarse de una manera sustancialmente similar a la excitación de banda alta de no referencia 456 del codificador de ICBWE 204.
La excitación de banda alta de no referencia 638 se proporciona al filtro de síntesis de LPC 604. El filtro de síntesis de LPC 604 puede configurarse para generar una banda alta de no referencia sintetizada 642 en base a la excitación de banda alta de no referencia 638 y los LPC de banda alta cuantificados 640 (de un flujo de bits transmitido desde el codificador 200) del canal medio de banda alta. Por ejemplo, el filtro de síntesis de LPC 604 puede aplicar los LPC de banda alta cuantificados 640 a la excitación de banda alta de no referencia 638 para generar la banda alta de no referencia sintetizada 642. La banda alta de no referencia sintetizada 642 se proporciona al aplicador de mapeo espectral 606.
El flujo de bits de mapeo espectral de banda alta 464 desde el codificador 200 se proporciona al descuantificador de mapeo espectral 608. El descuantificador de mapeo espectral 608 puede configurarse para decodificar el flujo de bits de mapeo espectral de banda alta 464 para generar un flujo de bits de mapeo espectral descuantificado 644. El flujo de bits de mapeo espectral descuantificado 644 se proporciona al aplicador de mapeo espectral 606. El aplicador de mapeo espectral 606 puede configurarse para aplicar el flujo de bits de mapeo espectral descuantificado 644 a la banda alta de no referencia sintetizada 642 (de una manera sustancialmente similar a la del codificador de ICBWE 204) para generar una banda alta de no referencia sintetizada de forma espectral 646. Por ejemplo, el flujo de bits de mapeo espectral cuantificado 644 puede aplicarse como un filtro (por ejemplo, i
1 u * z ~ L
), donde u son los parámetros de mapeo espectral cuantificado. La banda alta de no referencia sintetizada de forma espectral 646 se proporciona al escalador de forma de ganancia de banda alta 610.
El escalador de forma de ganancia de banda alta 610 puede configurarse para escalar la banda alta de no referencia sintetizada de forma espectral 646 en base a una forma de ganancia de banda alta cuantificada (de un flujo de bits transmitido desde el codificador 200) para generar una señal escalada 650. La señal escalada 650 se proporciona al escalador de ganancia de banda alta de no referencia 612. Un multiplicador 651 puede configurarse para multiplicar una trama de ganancia de banda alta cuantificada 652 (por ejemplo, la trama de ganancia de canal medio) por los parámetros de mapeo de ganancia de banda alta cuantificados 660 (desde el flujo de bits de mapeo de ganancia de banda alta 522) para generar una señal resultante 656. La señal resultante 656 puede generarse al aplicar el producto de la trama de ganancia de banda alta cuantificada 652 y los parámetros de mapeo de ganancia de banda alta cuantificados 660 o mediante el uso de dos etapas de ganancia secuenciales. La señal resultante 656 se proporciona al escalador de ganancia de banda alta de no referencia 612. El escalador de ganancia de banda alta de no referencia 612 puede configurarse para escalar la señal escalada 650 mediante la señal resultante 656 para generar un canal de no referencia de banda alta decodificado 658. El canal de no referencia de banda alta decodificado 658 se proporciona al mapeador de canales de banda alta 620. De acuerdo con otra implementación, se puede aplicar un parámetro de mapeo de ganancia de canal de referencia previsto al canal medio para generar el canal de no referencia de banda alta decodificado 658.
El flujo de bits de mapeo de ganancia de banda alta 522 desde el codificador 200 se proporciona al descuantificador de mapeo de ganancia 616. El descuantificador de mapeo de ganancia 616 puede configurarse para decodificar el flujo de bits de mapeo de ganancia de banda alta 522 para generar los parámetros de mapeo de ganancia de banda alta cuantificados 660. Los parámetros de mapeo de ganancia de banda alta cuantificados 660 se proporcionan al escalador de ganancia de banda alta de referencia 618, y se proporciona un canal medio de banda alta decodificado 662 (generado desde el flujo de bits del canal medio de banda alta 244) al escalador de ganancia de banda alta de referencia 618. El escalador de banda alta de referencia 618 puede configurarse para escalar el canal medio de banda alta decodificado 662 en base a los parámetros de mapeo de ganancia de banda alta cuantificados 660 para generar un canal de referencia de banda alta decodificado 664. El canal de referencia de banda alta decodificado 664 se proporciona al mapeador de canales de banda alta 620.
El mapeador de canales de banda alta 620 puede configurarse para designar el canal de referencia de banda alta decodificado 664 o el canal de no referencia de banda alta decodificado 658 como el canal de banda alta izquierdo 330. Por ejemplo, el mapeador de canales de banda alta 620 puede determinar si el canal de banda alta izquierdo 330 es un canal de referencia (o canal no de referencia) en base al flujo de bits del indicador de canal de referencia de banda alta 442 del codificador 200. Mediante el uso de técnicas similares, el mapeador de canales de banda alta 620 puede configurarse para designar el otro canal de referencia de banda alta decodificado 664 y el canal de no referencia de banda alta decodificado 658 como el canal de banda alta derecho 332.
Las técnicas descritas con respecto a las Figuras 1-6 pueden permitir una estimación mejorada de banda alta para la codificación y decodificación de audio. Por ejemplo, los parámetros de mapeo espectral 466 pueden usarse para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 514) que tiene una envolvente espectral que se aproxima a la envolvente espectral de un canal de banda alta (por ejemplo, el canal de banda alta de no referencia 460). Por lo tanto, los parámetros de mapeo espectral 466 pueden usarse en el decodificador 466 para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 646) que se aproxima a la envolvente espectral del canal de banda alta en el codificador 200. Como resultado, pueden producirse artefactos reducidos al reconstruir la banda alta en el decodificador 300 ya que la banda alta puede tener una envolvente espectral similar a la de la banda baja en el lado del codificador.
Con referencia a la Figura 7, se muestra un procedimiento 700 para estimar los parámetros de mapeo espectral. El procedimiento 700 se puede realizar por el primer dispositivo 104 de la Figura 1. En particular, el procedimiento 700 se puede realizar por el codificador 200.
El procedimiento 700 incluye seleccionar, en un codificador de un primer dispositivo, un canal izquierdo o un canal derecho como canal de destino de no de referencia en base a un indicador de canal de referencia de banda alta, en 702. Por ejemplo, con referencia a la Figura 4, el conmutador 424 puede seleccionar el canal izquierdo 212 o el canal derecho 214 como el canal de banda alta de no referencia 460 en base al indicador de canal de referencia de banda alta 440.
El procedimiento 700 incluye generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia, en 704. Por ejemplo, con referencia a la Figura 4, el filtro de síntesis de LPC 410 puede generar la banda alta de no referencia sintetizada 458 al aplicar los LPC de banda alta cuantificadas 457 a la excitación de banda alta de no referencia 456. En algunas implementaciones, el procedimiento 700 también incluye generar una porción de banda alta del canal de destino de no referencia.
El procedimiento 700 también incluye estimar uno o más parámetros de mapeo espectral en base al canal de banda alta de no referencia sintetizado y una porción de banda alta del canal de destino de no referencia, en 706. Por ejemplo, con referencia a la Figura 4, el estimador de mapeo espectral 414 puede estimar los parámetros de mapeo espectral 462 en base al canal de banda alta de no referencia sintetizado 458 y al canal de banda alta de no referencia 460.
De acuerdo con una implementación, uno o más parámetros de mapeo espectral se estiman en base a un primer valor de autocorrelación del canal de destino de no referencia en el índice de retraso uno y un segundo valor de autocorrelación del canal de destino de no referencia en el índice de retraso cero. Uno o más parámetros de mapeo espectral pueden incluir un parámetro de mapeo espectral particular de al menos dos candidatos a parámetros de mapeo espectral. En una implementación, el parámetro de mapeo espectral particular puede corresponder a un parámetro de mapeo espectral de una trama anterior si al menos los dos candidatos de parámetro de mapeo espectral son candidatos no reales. En otra implementación, el parámetro de mapeo espectral particular puede corresponder a un parámetro de mapeo espectral de una trama anterior si cada candidato de parámetro de mapeo espectral de al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto que es mayor que uno. En otra implementación, el parámetro de mapeo espectral particular puede corresponder a un candidato de parámetro de mapeo espectral que tiene un valor absoluto menor que uno si solo un candidato de parámetro de mapeo espectral de al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno. En otra implementación, el parámetro de mapeo espectral particular puede corresponder a un candidato de parámetro de mapeo espectral que tiene un valor más pequeño si más de uno de al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno. En otra implementación, el parámetro de mapeo espectral particular puede corresponder a un parámetro de mapeo espectral de una trama anterior si más de uno de al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno.
El procedimiento 700 también incluye aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado para generar un canal de banda alta de no referencia sintetizado de forma espectral, en 708. La aplicación de uno o más parámetros espectrales puede corresponder a filtrar el canal de banda alta de no referencia sintetizado en base a un filtro de mapeo espectral. El canal de banda alta de no referencia sintetizado de forma espectral puede tener una envolvente espectral que es similar a una envolvente espectral del canal de destino de no referencia. Por ejemplo, con referencia a la Figura 5, el aplicador de mapeo espectral 502 puede aplicar los parámetros de mapeo espectral cuantificado 466 a la banda alta de no referencia sintetizada 458 para generar la banda alta de no referencia sintetizada de forma espectral 514. La banda alta de no referencia sintetizada de forma espectral 514 puede tener una envolvente espectral que es similar a una envolvente espectral del canal de banda alta de no referencia 460. El canal de banda alta de no referencia sintetizado de forma espectral puede usarse para estimar un parámetro de mapeo de ganancia.
El procedimiento 700 también incluye generar un flujo de bits codificado en base a uno o más parámetros de mapeo espectral y al canal de banda alta de no referencia sintetizado de forma espectral, en 710. Por ejemplo, con referencia a la Figura 4, el cuantificador de mapeo espectral 416 puede generar el flujo de bits de mapeo espectral de banda alta 464 en base a los parámetros de mapeo espectral 462. Adicionalmente, con referencia a la Figura 5, el cuantificador y estimador de mapeo de ganancia 504 pueden generar el flujo de bits de mapeo de ganancia de banda alta 522 en base a la banda alta de no referencia sintetizada de forma espectral 514.
El procedimiento 700 incluye además transmitir el flujo de bits codificado a un segundo dispositivo, en 712. Por ejemplo, con referencia a la Figura 1, el transmisor 110 puede transmitir el flujo de bits de ICBWE 242 (que incluye el flujo de bits de mapeo espectral de banda alta 464) al segundo dispositivo 106.
El procedimiento 700 puede permitir una estimación de banda alta mejorada para la codificación y decodificación de audio. Por ejemplo, los parámetros de mapeo espectral 466 pueden usarse para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 514) que tiene una envolvente espectral que se aproxima a la envolvente espectral de un canal de banda alta (por ejemplo, el canal de banda alta de no referencia 460). Por lo tanto, los parámetros de mapeo espectral 466 pueden usarse en el decodificador 466 para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 646) que se aproxima a la envolvente espectral del canal de banda alta en el codificador 200. Como resultado, pueden producirse artefactos reducidos al reconstruir la banda alta en el decodificador 300 ya que la banda alta puede tener una envolvente espectral similar a la de la banda baja en el lado del codificador.
Con referencia a la Figura 8, se muestra un procedimiento 800 de la extracción de los parámetros de mapeo espectral. El procedimiento 800 se puede realizar por el segundo dispositivo 106 de la Figura 1. En particular, el procedimiento 800 se puede realizar por el decodificador 300.
El procedimiento 800 incluye generar, en un decodificador de un dispositivo, un canal de referencia y un canal de destino de no referencia desde un flujo de bits recibido, en 802. El flujo de bits puede recibirse desde un codificador de un segundo dispositivo. Por ejemplo, con referencia a la Figura 1, el decodificador 300 puede generar un canal de no referencia desde el flujo de bits de banda baja 246. El canal de referencia y el canal de destino de no referencia pueden ser canales de mezcla ascendente generados en el decodificador 300. Como ejemplo no limitativo, si el canal de referencia de banda baja es la porción de banda baja del canal izquierdo, la porción de banda alta del canal izquierdo puede corresponder al canal de referencia de banda alta. De acuerdo con una implementación, el decodificador 300 puede generar los canales izquierdo y derecho sin generar el canal de referencia y el canal de destino de no referencia.
El procedimiento 800 también incluye generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia, en 804. Por ejemplo, con referencia a la Figura 6, el filtro de síntesis de LPC 604 puede generar la banda alta de no referencia sintetizada 642 al aplicar los LPC de banda alta cuantificadas 640 a la excitación de banda alta de no referencia 638.
El procedimiento 800 incluye además extraer uno o más parámetros de mapeo espectral desde un flujo de bits de mapeo espectral recibido, en 806. El flujo de bits de mapeo espectral puede recibirse desde el codificador del segundo dispositivo. Por ejemplo, con referencia a la Figura 6, el descuantificador de mapeo espectral 608 puede extraer el flujo de bits de mapeo espectral cuantificado 644 desde el flujo de bits de mapeo espectral de banda alta 464.
El procedimiento 800 también incluye generar un canal de banda alta de no referencia de forma espectral al aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado, en 808. El canal de banda alta de no referencia sintetizado de forma espectral puede tener una envolvente espectral que es similar a una envolvente espectral del canal de destino de no referencia. Por ejemplo, con referencia a la Figura 6, el aplicador de mapeo espectral 606 puede aplicar el flujo de bits de mapeo espectral cuantificado 644 a la banda alta de no referencia sintetizada para generar la banda alta de no referencia sintetizada de forma espectral 646. La banda alta de no referencia sintetizada de forma espectral 646 puede tener una envolvente espectral que es similar a una envolvente espectral del canal de destino de no referencia.
El procedimiento 800 también incluye generar una señal de salida en base al menos al canal de banda alta de no referencia de forma espectral, al canal de referencia, y al canal de destino de no referencia, en 810. Por ejemplo, con referencia a la Figura 1, el decodificador 300 puede generar al menos una de las señales de salida 126, 128 en base a la banda alta de no referencia sintetizada de forma espectral 646.
El procedimiento 800 incluye además reproducir la señal de salida en el dispositivo de reproducción, en 812. Por ejemplo, con referencia a la Figura 1, los altavoces 142, 144 pueden reproducir y emitir las señales de salida 126, 128, respectivamente.
El procedimiento 800 puede permitir una estimación de banda alta mejorada para la codificación y decodificación de audio. Por ejemplo, los parámetros de mapeo espectral 466 pueden usarse para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 514) que tiene una envolvente espectral que se aproxima a la envolvente espectral de un canal de banda alta (por ejemplo, el canal de banda alta de no referencia 460). Por lo tanto, los parámetros de mapeo espectral 466 pueden usarse en el decodificador 466 para generar un canal de banda alta sintetizado (por ejemplo, la banda alta de no referencia sintetizada de forma espectral 646) que se aproxima a la envolvente espectral del canal de banda alta en el codificador 200. Como resultado, pueden producirse artefactos reducidos al reconstruir la banda alta en el decodificador 300 ya que la banda alta puede tener una envolvente espectral similar a la de la banda baja en el lado del codificador.
Con referencia a la Figura 9, se representa un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo (por ejemplo, un dispositivo de comunicación inalámbrica) y se designa generalmente 900. En varias implementaciones, el dispositivo 900 puede tener menos o más componentes que los ilustrados en la Figura 9. En una implementación ilustrativa, el dispositivo 900 puede corresponder al primer dispositivo 104 de la Figura 1 o el segundo dispositivo 106 de la Figura 1. En una implementación ilustrativa, el dispositivo 900 puede realizar una o más operaciones descritas con referencia a los sistemas y procedimientos de las Figuras 1-8.
En una implementación particular, el dispositivo 900 incluye un procesador 906 (por ejemplo, una unidad central de procesamiento (CPU)). El dispositivo 900 puede incluir uno o más procesadores adicionales 910 (por ejemplo, uno o más procesadores de señales digitales (DSP)). Los procesadores 910 pueden incluir un codificador-decodificador (CODEC) de medios 908 (por ejemplo, voz y música) y un cancelador de eco 912. El CODEC de medios 908 puede incluir el decodificador 300, el codificador 200 o una combinación de los mismos. El codificador 200 puede incluir el codificador de ICBWE 204 y el decodificador 300 puede incluir el decodificador de ICBWE 306.
El dispositivo 900 puede incluir una memoria 153 y un CODEC 934. Aunque el CODEC de medios 908 se ilustra como un componente de los procesadores 910 (por ejemplo, los circuitos dedicados y/o el código de programación ejecutable), en otras implementaciones uno o más componentes del CODEC de medios 908, tal como el decodificador 300, el codificador 200 o una combinación de los mismos, puede incluirse en el procesador 906, el CODEC 934, otro componente de procesamiento o una combinación de los mismos.
El dispositivo 900 puede incluir el transmisor 110 acoplado a una antena 942. El dispositivo 900 puede incluir una pantalla 928 acoplada a un controlador de pantalla 926. Pueden acoplarse uno o más altavoces 948 al CODEC 934. Pueden acoplarse uno o más micrófonos 946, a través de la(s) interfaz(interfaces) de entrada 112, al CODEC 934. En una implementación particular, los altavoces 948 pueden incluir el primer altavoz 142, el segundo altavoz 144 de la Figura 1 o cualquier combinación de los mismos. En una implementación particular, los micrófonos 946 pueden incluir el primer micrófono 146, el segundo micrófono 148 de la Figura 1 o cualquier combinación de los mismos. El CODEC 934 puede incluir un convertidor digital a analógico (DAC) 902 y un convertidor analógico a la digital (ADC) 904.
La memoria 153 puede incluir las instrucciones 191 ejecutables por el procesador 906, los procesadores 910, el CODEC 934, otra unidad de procesamiento del dispositivo 900 o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a las Figuras 1-8.
Uno o más componentes del dispositivo 900 pueden implementarse a través de hardware dedicado (por ejemplo, circuitos), mediante un procesador que ejecuta instrucciones para realizar una o más tareas o una combinación de las mismas. Como un ejemplo, la memoria 153 o uno o más componentes del procesador 906, los procesadores 910, y/o el CODEC 934 pueden ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), memoria de acceso aleatorio magnetorresistiva (MRAM), MRAM de par de transferencia de giro (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable borrable (EPROM), memoria de solo lectura programable borrable eléctricamente ( EEPROM), registros, disco duro, un disco extraíble, o un disco compacto de memoria de solo lectura (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 960) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CODEC 934, el procesador 906, y/o los procesadores 910), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las Figuras 1-8. Como ejemplo, la memoria 153 o uno o más componentes del procesador 906, los procesadores 910 y/o el CODEC 934 pueden ser un medio legible por ordenador no transitorio que incluye instrucciones (por ejemplo, las instrucciones 960) que, cuando se ejecuta por un ordenador (por ejemplo, un procesador en el CODEC 934, el procesador 906 y/o los procesadores 910), hace que el ordenador realice una o más operaciones descritas con referencia a las Figuras 1-8. En una implementación particular, el dispositivo 900 puede incluirse en un dispositivo de sistema en paquete o sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 922. En una implementación particular, el procesador 906, los procesadores 910, el controlador de pantalla 926, la memoria 153, el CODEC 934, y el transmisor 110 se incluyen en un dispositivo de sistema en paquete o sistema en chip 922. En una implementación particular, un dispositivo de entrada 930, tal como una pantalla táctil y/o teclado, y una fuente de alimentación 944 se acoplan al dispositivo de sistema en chip 922. Además, en una implementación particular, como se ilustra en la Figura 9, la pantalla 928, el dispositivo de entrada 930, los altavoces 948, los micrófonos 946, la antena 942 y la fuente de alimentación 944 son externos al dispositivo de sistema en chip 922. Sin embargo, cada pantalla 928, el dispositivo de entrada 930, los altavoces 948, los micrófonos 946, la antena 942 y la fuente de alimentación 944 pueden acoplarse a un componente del dispositivo de sistema en chip 922, tal como una interfaz o un controlador. El dispositivo 900 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, una laptop, un ordenador de escritorio, un ordenador, una tableta, un decodificador de señal, un asistente digital personal (PDA), un dispositivo de pantalla, un televisor, una consola de juegos, un reproductor de música, una radio, un reproductor de video, una unidad de entretenimiento, un dispositivo de comunicación, una unidad de datos de ubicación fija, un reproductor multimedia personal, un reproductor de video digital, un reproductor de discos de video digital (DVD), un sintonizador, una cámara, un dispositivo de navegación, un sistema de decodificación, un sistema de codificación o cualquier combinación de los mismos.
Con referencia a la Figura 10, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación base 1000. En varias implementaciones, la estación base 1000 puede tener más componentes o menos componentes que los ilustrados en la Figura 10. En un ejemplo ilustrativo, la estación base 1000 puede incluir el primer dispositivo 104 o el segundo dispositivo 106 de la Figura 1. En un ejemplo ilustrativo, la estación base 1000 puede funcionar de acuerdo con uno o más de los procedimientos o sistemas descritos con referencia a las Figuras 1-8.
La estación base 1000 puede ser parte de un sistema de comunicación inalámbrica. El sistema de comunicación inalámbrica puede incluir múltiples estaciones base y múltiples dispositivos inalámbricos. El sistema de comunicación inalámbrica puede ser un Sistema de Evolución a Largo Plazo (LTE), un Sistema de Acceso Múltiple por División de Código (CDMA), un Sistema Global para Comunicaciones Móviles (GSM), un sistema de red de área local inalámbrica (WLAN), o algún otro sistema inalámbrico. Un sistema CDMA puede implementar CDMA de Banda Ancha (WCDMA), CDm A 1X, Evolución de Datos Optimizados (EVDO), CDMA Síncrono por División de Tiempo (TD-SCDMA), o alguna otra versión de CDMA.
Los dispositivos inalámbricos también pueden denominarse equipo de usuario (UE), una estación móvil, un terminal, un terminal de acceso, una unidad de abonado, una estación, etcétera. Los dispositivos inalámbricos pueden incluir un teléfono celular, un teléfono inteligente, una tableta, un módem inalámbrico, un asistente digital personal (PDA), un dispositivo portátil, una laptop, un libro inteligente, un netbook, una tableta, un teléfono inalámbrico, un dispositivo inalámbrico, una estación de bucle local inalámbrico (WLL), un dispositivo de Bluetooth, etcétera. Los dispositivos inalámbricos pueden incluir o corresponder al dispositivo 1000 de la Figura 10.
Se pueden realizar varias funciones mediante uno o más componentes de la estación base 1000 (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 1000 incluye un procesador 1006 (por ejemplo, una CPU). La estación base 1000 puede incluir un transcodificador 1010. El transcodificador 1010 puede incluir un CODEC de audio1008. Por ejemplo, el transcodificador 1010 puede incluir uno o más componentes (por ejemplo, circuitos) configurados para realizar operaciones del CODEC de audio 1008. Como otro ejemplo, el transcodificador 1010 puede configurarse para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CODEC de audio 1008. Aunque el CODEC de audio 1008 se ilustra como un componente del transcodificador 1010, en otros ejemplos se pueden incluir uno o más componentes del CODEC de audio 1008 en el procesador 1006, otro componente de procesamiento o una combinación de los mismos. Por ejemplo, puede incluirse un decodificador 1038 (por ejemplo, un decodificador de codificador de voz) en un procesador de receptor de datos 1064. Como otro ejemplo, se puede incluir un codificador 1036 (por ejemplo, un codificador de voz) en un procesador de transmisión de datos 1082.
El transcodificador 1010 puede funcionar para transcodificar los mensajes y datos entre dos o más redes. El transcodificador 1010 puede configurarse para convertir los mensajes y datos de audio desde un primer formato (por ejemplo, un formato digital) hasta un segundo formato. Para ilustrar, el decodificador 1038 puede decodificar las señales codificadas que tienen un primer formato y el codificador 1036 puede codificar las señales decodificadas en las señales codificadas que tienen un segundo formato. Adicional o alternativamente, el transcodificador 1010 puede configurarse para realizar la adaptación de la velocidad de datos. Por ejemplo, el transcodificador 1010 puede convertir descendente una tasa de datos o convertir ascendente la tasa de datos sin cambiar el formato de los datos de audio. A modo de ilustración, el transcodificador 1010 puede convertir descendente las señales de 64 kbit/s en señales de 16 kbit/s.
El CODEC de audio 1008 puede incluir el codificador 1036 y el decodificador 1038. El codificador 1036 puede incluir el codificador 200 de la Figura 1. El decodificador 1038 puede incluir el decodificador 300 de la Figura 1.
La estación base 1000 puede incluir una memoria 1032. La memoria 1032, tal como un dispositivo de almacenamiento legible por ordenador, puede incluir instrucciones. Las instrucciones pueden incluir una o más instrucciones que son ejecutables por el procesador 1006, el transcodificador 1010 o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a los procedimientos y sistemas de las Figuras 1-8. La estación base 1000 puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tales como un primer transceptor 1052 y un segundo transceptor 1054, acoplados a un conjunto de antenas. El conjunto de antenas puede incluir una primera antena 1042 y una segunda antena 1044. El conjunto de antenas puede configurarse para comunicarse de forma inalámbrica con uno o más dispositivos inalámbricos, tales como el dispositivo 1000 de la Figura 10. Por ejemplo, la segunda antena 1044 puede recibir un flujo de datos 1014 (por ejemplo, un flujo de bits) desde un dispositivo inalámbrico. El flujo de datos 1014 puede incluir mensajes, datos (por ejemplo, datos de voz codificados) o una combinación de los mismos.
La estación base 1000 puede incluir una conexión de red 1060, tal como una conexión de retorno. La conexión de red 1060 puede configurarse para comunicarse con una red central o una o más estaciones base de la red de comunicación inalámbrica. Por ejemplo, la estación base 1000 puede recibir un segundo flujo de datos (por ejemplo, mensajes o datos de audio) desde una red central a través de la conexión de red 1060. La estación base 1000 puede procesar el segundo flujo de datos para generar mensajes o datos de audio y proporcionar los mensajes o los datos de audio a uno o más dispositivos inalámbricos a través de una o más antenas del conjunto de antenas o a otra estación base a través de la conexión de red 1060. En una implementación particular, la conexión de red 1060 puede ser una conexión de red de área amplia (WAN), como ejemplo ilustrativo, no limitativo. 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.
La estación base 1000 puede incluir una pasarela de medios 1070 que se acopla a la conexión de red 1060 y al procesador 1006. La pasarela de medios 1070 puede configurarse para convertir entre los flujos de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela de medios 1070 puede convertir entre los diferentes protocolos de transmisión, diferentes esquemas de codificación o ambos. Para ilustrar, la pasarela de medios 1070 puede convertir desde las señales PCM hasta las señales de Protocolo de Transporte en Tiempo Real (RTP), como un ejemplo ilustrativo, no limitativo. La pasarela de medios 1070 puede convertir datos entre las redes de conmutación de paquetes (por ejemplo, una red de Voz sobre Protocolo de Internet (VoIP), un Subsistema Multimedia IP (IMS), una red inalámbrica de cuarta generación (4G), tal como LTE, WiMax, y UMB, etcétera), 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étera).
Adicionalmente, la pasarela de medios 1070 puede incluir una transcodificación y puede configurarse para transcodificar los datos cuando los códecs son incompatibles. Por ejemplo, la pasarela de medios 1070 puede transcodificar entre un códec Multi-Tasa Adaptativo (AMR) y un códec G.711, como ejemplo ilustrativo, no limitativo. La pasarela de medios 1070 puede incluir un enrutador y una pluralidad de interfaces físicas. En algunas implementaciones, la pasarela de medios 1070 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 1070, externo a la estación base 1000 o ambos. El controlador de pasarela de medios puede controlar y coordinar las operaciones de múltiples pasarelas de medios. La pasarela de medios 1070 puede recibir las señales de control del controlador de pasarela de medios y puede funcionar como puente entre las diferentes tecnologías de transmisión y puede agregar servicio a las capacidades y conexiones del usuario final.
La estación base 1000 puede incluir un demodulador 1062 que se acopla a los transceptores 1052, 1054, el procesador de receptor de datos 1064, y el procesador 1006, y el procesador de receptor de datos 1064 puede acoplarse al procesador 1006. El demodulador 1062 puede configurarse para demodular las señales moduladas recibidas desde los transceptores 1052, 1054 y para proporcionar los datos demodulados al procesador de receptor de datos 1064. El procesador de receptor de datos 1064 puede configurarse para extraer un mensaje o datos de audio desde los datos demodulados y enviar el mensaje o los datos de audio al procesador 1006.
La estación base 1000 puede incluir un procesador de transmisión de datos 1082 y un procesador de transmisión de múltiples entradas y múltiples salidas (MIMO) 1084. El procesador de transmisión de datos 1082 puede acoplarse al procesador 1006 y al procesador de transmisión MIMO 1084. El procesador de transmisión MIMO 1084 puede acoplarse a los transceptores 1052, 1054 y al procesador 1006. En algunas implementaciones, el procesador de transmisión MIMO 1084 puede acoplarse a la pasarela de medios 1070. El procesador de transmisión de datos 1082 puede configurarse para recibir los mensajes o los datos de audio del procesador 1006 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 de frecuencia ortogonal (OFDM), como ejemplos ilustrativos, no limitativos. El procesador de transmisión de datos 1082 puede proporcionar los datos codificados al procesador de transmisión MIMO 1084.
Los datos codificados se pueden multiplexar con otros datos, tales como datos piloto, mediante el uso de técnicas CDMA u OFDM para generar los datos multiplexados. Los datos multiplexados pueden entonces modularse (es decir, mapearse de símbolos) por el procesador de transmisión de datos 1082 en base a un esquema de modulación particular (por ejemplo, Codificación por desplazamiento de fase binaria ("BPSK"), Codificació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étera) para generar los símbolos de modulación. En una implementación particular, los datos codificados y otros datos se pueden modular mediante el uso de diferentes esquemas de modulación. La velocidad de datos, la codificación, y la modulación para cada flujo de datos pueden determinarse mediante las instrucciones ejecutadas por el procesador 1006.
El procesador de transmisión MIMO 1084 puede configurarse para recibir los símbolos de modulación desde el procesador de transmisión de datos 1082 y puede procesar adicionalmente los símbolos de modulación y puede realizar la formación de haces en los datos. Por ejemplo, el procesador de transmisión MIMO 1084 puede aplicar pesos de formación de haces a los símbolos de modulación. Los pesos de formación de haces pueden corresponder a una o más antenas del conjunto de antenas desde las que se transmiten los símbolos de modulación.
Durante el funcionamiento, la segunda antena 1044 de la estación base 1000 puede recibir un flujo de datos 1014. El segundo transceptor 1054 puede recibir el flujo de datos 1014 desde la segunda antena 1044 y puede proporcionar el flujo de datos 1014 al demodulador 1062. El demodulador 1062 puede demodular señales moduladas del flujo de datos 1014 y proporcionar los datos demodulados al procesador de receptor de datos 1064. El procesador de receptor de datos 1064 puede extraer los datos de audio desde los datos demodulados y proporcionar los datos de audio extraídos al procesador 1006.
El procesador 1006 puede proporcionar los datos de audio al transcodificador 1010 para la transcodificación. El decodificador 1038 del transcodificador 1010 puede decodificar los datos de audio desde un primer formato en datos de audio decodificados y el codificador 1036 puede codificar los datos de audio decodificados en un segundo formato. En algunas implementaciones, el codificador 1036 puede codificar los datos de audio mediante el uso de una velocidad de datos mayor (por ejemplo, conversión ascendente) o una velocidad de datos menor (por ejemplo, conversión descendente) que la recibida desde el dispositivo inalámbrico. En otras implementaciones, puede que los datos de audio no se transcodifiquen. Aunque la transcodificación (por ejemplo, decodificación y codificación) se ilustra como realizada por un transcodificador 1010, las operaciones de transcodificación (por ejemplo, decodificación y codificación) pueden realizarse por múltiples componentes de la estación base 1000. Por ejemplo, la decodificación puede realizarse por el procesador de receptor de datos 1064 y la codificación puede realizarse por el procesador de transmisión de datos 1082. En otras implementaciones, el procesador 1006 puede proporcionar los datos de audio a la pasarela de medios 1070 para su conversión a otro protocolo de transmisión, esquema de codificación o ambos. La pasarela de medios 1070 puede proporcionar los datos convertidos a otra estación base o red central a través de la conexión de red 1060.
Los datos de audio codificados generados en el codificador 1036, tales como datos transcodificados, pueden proporcionarse al procesador de transmisión de datos 1082 o a la conexión de red 1060 a través del procesador 1006. Los datos de audio transcodificados del transcodificador 1010 pueden proporcionarse al procesador de transmisión de datos 1082 para codificarlos de acuerdo con un esquema de modulación, tal como OFDM, para generar los símbolos de modulación. El procesador de transmisión de datos 1082 puede proporcionar los símbolos de modulación al procesador de transmisión MIMO 1084 para procesamiento adicional y formación de haces. El procesador de transmisión MIMO 1084 puede aplicar pesos de formación de haces y puede proporcionar los símbolos de modulación a una o más antenas del conjunto de antenas, tal como la primera antena 1042 a través del primer transceptor 1052. Por tanto, la estación base 1000 puede proporcionar un flujo de datos transcodificados 1016, que corresponde al flujo de datos 1014 recibido desde el dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo de datos transcodificados 1016 puede tener un formato de codificación, velocidad de datos o ambos, diferentes, del flujo de datos 1014. En otras implementaciones, el flujo de datos transcodificados 1016 puede proporcionarse a la conexión de red 1060 para su transmisión a otra estación base o una red central.
En una implementación particular, uno o más componentes de los sistemas y dispositivos divulgados en la presente memoria pueden integrarse en un sistema o aparato de decodificación (por ejemplo, un dispositivo electrónico, un CODEC o un procesador en el mismo), en un sistema o aparato de codificación o ambos. En otras implementaciones, uno o más componentes de los sistemas y dispositivos divulgados en la presente memoria pueden integrarse en un teléfono inalámbrico, una tableta, un ordenador de escritorio, una laptop, un decodificador de señal, un reproductor de música, un reproductor de video, una unidad de entretenimiento, un televisor, una consola de juegos, un dispositivo de navegación, un dispositivo de comunicación, un asistente digital personal (PDA), una unidad de datos de ubicación fija, un reproductor multimedia personal, u otro tipo de dispositivo.
Junto con las técnicas descritas, un primer aparato incluye los medios para seleccionar un canal izquierdo o un canal derecho como canal de destino de no referencia en base a un indicador de canal de referencia de banda alta. Por ejemplo, los medios para seleccionar pueden incluir el codificador 200 de las Figuras 1, 2A, y 9, el codificador de iCbWe 204 de las Figuras 1, 2A, 4, y 5, el conmutador 424 de la Figura 4, el CODEC 908 de la Figura 9, el procesador 906 de la Figura 9, las instrucciones 191 ejecutables por un procesador, el codificador 1036 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El primer aparato también incluye los medios para generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia. Por ejemplo, los medios para generar el canal de banda alta de no referencia sintetizado pueden incluir el codificador 200 de las Figuras 1, 2A, y 9, el codificador de ICBWE 204 de las Figuras 1, 2A, 4, y 5, el filtro de síntesis de LPC 410 de la Figura 4, el CODEC 908 de la Figura 9, el procesador 906 de la Figura 9, las instrucciones 191 ejecutables por un procesador, el codificador 1036 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El primer aparato también incluye los medios para estimar uno o más parámetros de mapeo espectral en base al canal de banda alta de no referencia sintetizado y a una porción de banda alta del canal de destino de no referencia. Por ejemplo, los medios para estimar pueden incluir el codificador 200 de las Figuras 1, 2A, y 9, el codificador de ICBWE 204 de las Figuras 1, 2A, 4, y 5, el estimador de mapeo espectral 414 de la Figura 4, el CODEC 908 de la Figura 9, el procesador 906 de la Figura 9, las instrucciones 191 ejecutables por un procesador, el codificador 1036 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El primer aparato también incluye los medios para aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado para generar un canal de banda alta de no referencia sintetizado de forma espectral. Por ejemplo, los medios para aplicar pueden incluir el codificador 200 de las Figuras 1, 2A, y 9, el codificador de iCbWe 204 de las Figuras 1, 2A, 4, y 5, el aplicador de mapeo espectral 502 de la Figura 5, el CODEC 908 de la Figura 9, el procesador 906 de la Figura 9, las instrucciones 191 ejecutables por un procesador, el codificador 1036 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El primer aparato también incluye los medios para generar un flujo de bits codificado en base a uno o más parámetros de mapeo espectral y al canal de banda alta de no referencia sintetizado de forma espectral. Por ejemplo, los medios para generar el flujo de bits de parámetro de mapeo espectral pueden incluir el codificador 200 de las Figuras 1, 2A, y 9, el codificador de ICBWE 204 de las Figuras 1, 2A, 4, y 5, el cuantificador de mapeo espectral 416 de la Figura 4, el CODEC 908 de la Figura 9, el procesador 906 de la Figura 9, las instrucciones 191 ejecutables por un procesador, el codificador 1036 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El primer aparato también incluye los medios para transmitir el flujo de bits codificado a un segundo dispositivo. Por ejemplo, los medios para transmitir pueden incluir el transmisor 110 de las Figuras 1 y 9, el transceptor 1052 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
Junto con las técnicas descritas, un segundo aparato incluye los medios para generar un canal de referencia y un canal de destino de no referencia desde un flujo de bits de banda baja recibido. Por ejemplo, los medios para generar el canal de no referencia pueden incluir el decodificador 300 de las Figuras 1, 3A, y 9, el decodificador 1038 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El segundo aparato también incluye los medios para generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia. Por ejemplo, los medios para generar el canal de banda alta de no referencia sintetizado pueden incluir el decodificador 300 de las Figuras 1, 3A, y 9, el decodificador de ICBWE 306 de las Figuras 1, 3A, 6, y 9, el filtro de síntesis de LPC 604 de la Figura 6, el decodificador 1038 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El segundo aparato también incluye los medios para extraer uno o más parámetros de mapeo espectral desde un flujo de bits de mapeo espectral recibido. Por ejemplo, los medios para extraer pueden incluir el decodificador 300 de las Figuras 1, 3A, y 9, el decodificador de ICBWE 306 de las Figuras 1, 3A, 6, y 9, el descuantificador de mapeo espectral 608 de la Figura 6, el decodificador 1038 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El segundo aparato también incluye los medios para generar un canal de banda alta de no referencia sintetizado de forma espectral al aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado. Por ejemplo, los medios para generar un canal de banda alta de no referencia sintetizado de forma espectral pueden incluir el decodificador 300 de las Figuras 1, 3A, y 9, el decodificador de ICBWE 306 de las Figuras 1, 3A, 6, y 9, el aplicador de mapeo espectral 606 de la Figura 6, el decodificador 1038 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El segundo aparato también incluye los medios para generar una señal de salida en base al menos al canal de banda alta de no referencia de forma espectral, al canal de referencia y al canal de destino de no referencia. Por ejemplo, los medios para generar la señal de salida pueden incluir el decodificador 300 de las Figuras 1, 3A, y 9, el decodificador de ICBWE 306 de las Figuras 1, 3A, 6, y 9, el decodificador 1038 de la Figura 10, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
El segundo aparato también incluye los medios para reproducir la señal de salida. Por ejemplo, los medios para reproducir la señal de salida pueden incluir el primer altavoz 142 de la Figura 1, el segundo altavoz 144 de la Figura 1, el altavoz 948 de la Figura 9, uno o más dispositivos, circuitos, o cualquier combinación de los mismos.
Se debe señalar que varias funciones realizadas por uno o más componentes de los sistemas y dispositivos divulgados en la presente memoria se describen como realizadas por ciertos componentes o módulos. Esta división de componentes y módulos es solo para ilustración. En una implementación alternativa, una función realizada por un componente o módulo particular puede dividirse entre múltiples componentes o módulos. Además, en una implementación alternativa, pueden integrarse dos o más componentes o módulos en un solo componente o módulo. Cada componente o módulo puede implementarse mediante el uso de hardware (por ejemplo, un dispositivo de matriz de puertas programable en campo (FPGA), un circuito integrado de aplicación específica (ASIC), un DSP, un controlador, etcétera), software (por ejemplo, instrucciones ejecutables por un procesador), o cualquier combinación de los mismos.
Los expertos apreciarán además que los diversos bloques lógicos ilustrativos, configuraciones, módulos, circuitos, y etapas de algoritmos descritos en relación con las implementaciones divulgadas en la presente memoria pueden implementarse como hardware electrónico, programa informático ejecutados por un dispositivo de procesamiento tal como un procesador de hardware, o combinaciones de ambos. Varios componentes, bloques, configuraciones, módulos, circuitos, y etapas ilustrativas se han descrito anteriormente de manera general en términos de su funcionalidad. Si tal funcionalidad se implementa como hardware o software ejecutable depende de la solicitud particular y las restricciones de diseño impuestas en el sistema general. Los artesanos expertos pueden implementar la funcionalidad descrita de diversos modos para cada solicitud particular, pero tales decisiones de implementación no deben interpretarse como que provocan una desviación del ámbito de la presente divulgación.
Las etapas de un procedimiento o algoritmo descrito en relación con las implementaciones divulgadas en la presente memoria pueden llevarse a la práctica directamente en el 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 par de transferencia de giro (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable borrable (EPROM), memoria de solo lectura programable 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 ilustrativo se acopla al procesador de manera que el procesador pueda leer la información desde, y escribir la información en, el dispositivo de memoria. En la alternativa, el dispositivo de memoria puede ser integral al procesador. El procesador y el medio de almacenamiento puede residir en un circuito integrado de aplicación específica (ASIC). El ASIC puede residir en un dispositivo informático o un terminal de usuario. En la alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o un terminal de usuario.

Claims (22)

REIVINDICACIONES
1. Un dispositivo que comprende:
un codificador configurado para:
seleccionar un canal izquierdo o un canal derecho como canal de destino de no referencia en base a un indicador de canal de referencia de banda alta;
generar una porción de banda alta del canal de destino de no referencia;
generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia;
estimar uno o más parámetros de mapeo espectral en base al canal de banda alta de no referencia sintetizado y la porción de banda alta del canal de destino de no referencia;
aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado para generar un canal de banda alta de no referencia sintetizado de forma espectral; y
generar un flujo de bits codificado en base a uno o más parámetros de mapeo espectral y el canal de banda alta de no referencia sintetizado de forma espectral; y
un transmisor configurado para transmitir el flujo de bits codificado a un segundo dispositivo.
2. El dispositivo de la reivindicación 1, en el que el codificador se configura además para:
aplicar una primera ganancia a una excitación de banda alta armónica para generar una excitación de banda alta armónica con ajuste de ganancia;
aplicar una segunda ganancia al ruido modulado para generar el ruido modulado con ajuste de ganancia; y combinar la excitación de banda alta armónica con ajuste de ganancia y el ruido modulado con ajuste de ganancia para generar la excitación de banda alta de no referencia.
3. El dispositivo de la reivindicación 1, en el que el canal de banda alta de no referencia sintetizado se genera mediante el uso de un filtro de síntesis de coeficiente de predicción lineal.
4. El dispositivo de la reivindicación 1, en el que el codificador se configura además para filtrar el canal de banda alta de no referencia sintetizado en base a un filtro de mapeo espectral.
5. El dispositivo de la reivindicación 1, en el que el codificador se configura además para estimar un parámetro de mapeo de ganancia en base al canal de banda alta de no referencia sintetizado de forma espectral, y preferentemente
en el que el parámetro de mapeo de ganancia se basa además en un canal medio de banda alta, un canal medio de banda alta sintetizado, y un canal de banda alta de no referencia.
6. El dispositivo de la reivindicación 1, en el que uno o más parámetros de mapeo espectral se estiman en base a un primer valor de autocorrelación del canal de destino de no referencia en el índice de retraso uno y un segundo valor de autocorrelación del canal de destino de no referencia en el índice de retraso cero.
7. El dispositivo de la reivindicación 1, en el que uno o más parámetros de mapeo espectral incluyen un parámetro de mapeo espectral particular correspondiente a un criterio satisfecho por al menos dos candidatos de parámetro de mapeo espectral.
8. El dispositivo de la reivindicación 7,
en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si al menos los dos candidatos de parámetro de mapeo espectral son candidatos no reales; o
en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si cada candidato de parámetro de mapeo espectral de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto que es mayor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un candidato de parámetro de mapeo espectral que tiene un valor absoluto menor que uno si solo un candidato de parámetro de mapeo espectral de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un candidato de parámetro de mapeo espectral que tiene un valor más pequeño si más de uno de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si más de uno de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno.
9. El dispositivo de la reivindicación 1, en el que el flujo de bits codificado corresponde a un flujo de bits de extensión de ancho de banda intercanal (ICBWE), el flujo de bits de ICBWE en base a un flujo de bits de indicador de canal de referencia de banda alta, un flujo de bits de mapeo espectral de banda alta, y un flujo de bits de mapeo de ganancia de banda alta.
10. El dispositivo de la reivindicación 1, en el que el codificador y el transmisor se integran en un dispositivo móvil.
11. El dispositivo de la reivindicación 1, en el que el codificador y el transmisor se integran en una estación base.
12. Un procedimiento de codificación de datos de audio, comprendiendo el procedimiento:
seleccionar, en un codificador de un primer dispositivo, un canal izquierdo o un canal derecho como canal de destino de no referencia en base a un indicador de canal de referencia de banda alta;
generar una porción de banda alta del canal de destino de no referencia;
generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia;
estimar uno o más parámetros de mapeo espectral en base al canal de banda alta de no referencia sintetizado y la porción de banda alta del canal de destino de no referencia;
aplicar uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado para generar un canal de banda alta de no referencia sintetizado de forma espectral;
generar un flujo de bits codificado en base a uno o más parámetros de mapeo espectral y el canal de banda alta de no referencia sintetizado de forma espectral; y
transmitir el flujo de bits codificado a un segundo dispositivo.
13. El procedimiento de la reivindicación 11, que comprende, además:
aplicar una primera ganancia a una excitación de banda alta armónica para generar una excitación de banda alta armónica con ajuste de ganancia;
aplicar una segunda ganancia al ruido modulado para generar el ruido modulado con ajuste de ganancia; y combinar la excitación de banda alta armónica con ajuste de ganancia y el ruido modulado con ajuste de ganancia para generar la excitación de banda alta de no referencia; o
en el que el procedimiento comprende además generar el canal de banda alta de no referencia sintetizado en base a un filtro de síntesis de coeficiente de predicción lineal.
14. El procedimiento de la reivindicación 12, en el que el uno o más parámetros de mapeo espectral incluyen un parámetro de mapeo espectral particular correspondiente a un criterio satisfecho por al menos dos candidatos de parámetro de mapeo espectral.
15. El procedimiento de la reivindicación 14, en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si los al menos dos candidatos de parámetro de mapeo espectral son candidatos no reales.
16. El procedimiento de la reivindicación 15,
en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si cada candidato de parámetro de mapeo espectral de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto que es mayor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un candidato de parámetro de mapeo espectral que tiene un valor absoluto menor que uno si solo un candidato de parámetro de mapeo espectral de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un candidato de parámetro de mapeo espectral que tiene un valor más pequeño si más de uno de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno; o
en el que el parámetro de mapeo espectral particular corresponde a un parámetro de mapeo espectral de una trama anterior si más de uno de los al menos dos candidatos de parámetro de mapeo espectral tiene un valor absoluto menor que uno.
17. El procedimiento de la reivindicación 12, en el que la estimación del uno o más parámetros de mapeo espectral y la aplicación del uno o más parámetros de mapeo espectral se realizan en un dispositivo móvil.
18. El procedimiento de la reivindicación 12, en el que la estimación del uno o más parámetros de mapeo espectral y la aplicación del uno o más parámetros de mapeo espectral se realizan en una estación base.
19. Un dispositivo que comprende:
un decodificador configurado para:
generar un canal de referencia y un canal de destino de no referencia desde un flujo de bits de banda baja recibido, el flujo de bits de banda baja recibido de un codificador de un segundo dispositivo;
generar un canal de banda alta de no referencia sintetizado en base a una excitación de banda alta de no referencia correspondiente al canal de destino de no referencia;
extraer uno o más parámetros de mapeo espectral desde un flujo de bits de mapeo espectral recibido, el flujo de bits de mapeo espectral recibido del codificador del segundo dispositivo;
generar un canal de banda alta de no referencia sintetizado de forma espectral al aplicar el uno o más parámetros de mapeo espectral al canal de banda alta de no referencia sintetizado; y
generar una señal de salida en base al menos al canal de banda alta de no referencia sintetizado de forma espectral, al canal de referencia y al canal de destino de no referencia.
20. El dispositivo de la reivindicación 19, que comprende además un dispositivo de reproducción configurado para generar la señal de salida; o
en el que el uno o más parámetros de mapeo espectral se estiman en el codificador en base a un canal de banda alta de no referencia sintetizado del lado del codificador y una porción de banda alta de un canal de destino de no referencia del lado del codificador.
21. El dispositivo de la reivindicación 19, en el que el decodificador se integra en un dispositivo móvil.
22. El dispositivo de la reivindicación 19, en el que el decodificador se integra en una estación base.
ES18706149T 2017-03-09 2018-02-08 Ajuste y mapeo espectral de extensión de ancho de banda intercanal Active ES2894625T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762469432P 2017-03-09 2017-03-09
US15/890,670 US10553222B2 (en) 2017-03-09 2018-02-07 Inter-channel bandwidth extension spectral mapping and adjustment
PCT/US2018/017359 WO2018164805A1 (en) 2017-03-09 2018-02-08 Inter-channel bandwidth extension spectral mapping and adjustment

Publications (1)

Publication Number Publication Date
ES2894625T3 true ES2894625T3 (es) 2022-02-15

Family

ID=63445733

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18706149T Active ES2894625T3 (es) 2017-03-09 2018-02-08 Ajuste y mapeo espectral de extensión de ancho de banda intercanal

Country Status (7)

Country Link
US (3) US10553222B2 (es)
EP (1) EP3593348B1 (es)
CN (2) CN110337691B (es)
ES (1) ES2894625T3 (es)
SG (1) SG11201906584WA (es)
TW (1) TWI713819B (es)
WO (1) WO2018164805A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10109284B2 (en) 2016-02-12 2018-10-23 Qualcomm Incorporated Inter-channel encoding and decoding of multiple high-band audio signals
US10553222B2 (en) * 2017-03-09 2020-02-04 Qualcomm Incorporated Inter-channel bandwidth extension spectral mapping and adjustment
US20190051286A1 (en) * 2017-08-14 2019-02-14 Microsoft Technology Licensing, Llc Normalization of high band signals in network telephony communications
CN111586547B (zh) * 2020-04-28 2022-05-06 北京小米松果电子有限公司 音频输入模组的检测方法及装置、存储介质
CN117198313A (zh) * 2023-08-17 2023-12-08 珠海全视通信息技术有限公司 侧音消除方法、装置、电子设备、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999926B2 (en) * 2000-11-16 2006-02-14 International Business Machines Corporation Unsupervised incremental adaptation using maximum likelihood spectral transformation
US7512180B2 (en) * 2003-06-25 2009-03-31 Microsoft Corporation Hierarchical data compression system and method for coding video data
KR20070051864A (ko) * 2004-08-26 2007-05-18 마츠시타 덴끼 산교 가부시키가이샤 멀티 채널 신호 부호화 장치 및 멀티 채널 신호 복호 장치
EP1864283B1 (en) * 2005-04-01 2013-02-13 Qualcomm Incorporated Systems, methods, and apparatus for highband time warping
DK1875463T3 (en) * 2005-04-22 2019-01-28 Qualcomm Inc SYSTEMS, PROCEDURES AND APPARATUS FOR AMPLIFIER FACTOR GLOSSARY
JPWO2007088853A1 (ja) * 2006-01-31 2009-06-25 パナソニック株式会社 音声符号化装置、音声復号装置、音声符号化システム、音声符号化方法及び音声復号方法
US8886523B2 (en) * 2010-04-14 2014-11-11 Huawei Technologies Co., Ltd. Audio decoding based on audio class with control code for post-processing modes
CN111105806B (zh) * 2014-03-24 2024-04-26 三星电子株式会社 高频带编码方法和装置,以及高频带解码方法和装置
US9984699B2 (en) * 2014-06-26 2018-05-29 Qualcomm Incorporated High-band signal coding using mismatched frequency ranges
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
US9837089B2 (en) * 2015-06-18 2017-12-05 Qualcomm Incorporated High-band signal generation
US10109284B2 (en) 2016-02-12 2018-10-23 Qualcomm Incorporated Inter-channel encoding and decoding of multiple high-band audio signals
US10553222B2 (en) * 2017-03-09 2020-02-04 Qualcomm Incorporated Inter-channel bandwidth extension spectral mapping and adjustment

Also Published As

Publication number Publication date
US20200066283A1 (en) 2020-02-27
EP3593348B1 (en) 2021-09-15
CN110337691A (zh) 2019-10-15
US10872613B2 (en) 2020-12-22
TW201833904A (zh) 2018-09-16
US20180261232A1 (en) 2018-09-13
US20210098006A1 (en) 2021-04-01
CN116721668A (zh) 2023-09-08
US10553222B2 (en) 2020-02-04
EP3593348A1 (en) 2020-01-15
TWI713819B (zh) 2020-12-21
CN110337691B (zh) 2023-06-23
US11705138B2 (en) 2023-07-18
SG11201906584WA (en) 2019-09-27
WO2018164805A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
ES2894625T3 (es) Ajuste y mapeo espectral de extensión de ancho de banda intercanal
KR102308966B1 (ko) 멀티-소스 환경에서의 비-고조파 음성 검출 및 대역폭 확장
US10885922B2 (en) Time-domain inter-channel prediction
US10593341B2 (en) Coding of multiple audio signals
US10885925B2 (en) High-band residual prediction with time-domain inter-channel bandwidth extension
KR102208602B1 (ko) 채널간 대역폭 확장