ES2823294T3 - Codificación y descodificación de diferencias de fase entre canales entre señales de audio - Google Patents

Codificación y descodificación de diferencias de fase entre canales entre señales de audio Download PDF

Info

Publication number
ES2823294T3
ES2823294T3 ES17731782T ES17731782T ES2823294T3 ES 2823294 T3 ES2823294 T3 ES 2823294T3 ES 17731782 T ES17731782 T ES 17731782T ES 17731782 T ES17731782 T ES 17731782T ES 2823294 T3 ES2823294 T3 ES 2823294T3
Authority
ES
Spain
Prior art keywords
ipd
signal
audio signal
values
mode
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
ES17731782T
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 ES2823294T3 publication Critical patent/ES2823294T3/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
    • 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/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • 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/002Dynamic bit allocation

Landscapes

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

Abstract

Un dispositivo (104, 114) para procesar señales de audio que comprende: un analizador de desajuste temporal entre canales (124) configurado para determinar un valor de desajuste temporal entre canales (163) indicativo de una desalineación temporal entre una primera señal de audio (130) y una segunda señal de audio (132); un selector de modo de diferencia de fase entre canales, IPD, (108) configurado para seleccionar un modo de IPD (156, 465, 467) basado al menos en parte en si el valor de desajuste temporal entre canales (163) satisface un umbral de diferencia y si un valor de intensidad (150) asociado con el valor de desajuste temporal entre canales satisface un umbral de intensidad; y un estimador de IPD (122) configurado para determinar los valores de IPD (161) basándose en la primera señal de audio (130) y la segunda señal de audio (132), teniendo los valores de IPD (161) una resolución (165, 456, 476) correspondiente al modo de IPD seleccionado (156, 465, 467).

Description

DESCRIPCIÓN
Codificación y descodificación de diferencias de fase entre canales entre señales de audio
I. Reivindicación de prioridad
[0001] La presente solicitud reivindica el beneficio de la prioridad de la solicitud provisional de patente de Estados Unidos n.2 62/352 481 en copropiedad, titulada "ENCODING AND DECODING OF INTERCHANNEL PHASE DIFFERENCES BETWEEN a Ud IO SIg Na LS [Codificación y descodificación de diferencias de fase entre canales entre señales de audio]", presentada el lunes, 20 de junio de 2016, y la solicitud no provisional de patente de Estados Unidos n.° 15/620 695, presentada el 12 de junio de 2017, titulada "ENCODING AND DECODING OF INTERCHANNEL PHASE DIFFERENCES BETWEEN AUDIO SIGNALS [Codificación y descodificación de diferencias de fase entre canales entre señales de audio]".
II. Campo
[0002] La presente divulgación está relacionada en general con la codificación y descodificación de diferencias de fase entre canales entre señales de audio.
III. Descripción de la técnica relacionada
[0003] Los avances en la tecnología han dado como resultado dispositivos informáticos más pequeños y más potentes. Por ejemplo, existe en la actualidad una variedad de dispositivos informáticos personales portátiles, incluyendo teléfonos inalámbricos tales como teléfonos móviles e inteligentes, tablets electrónicas y ordenadores portátiles, que son pequeños, ligeros y fáciles de transportar por los usuarios. Estos dispositivos pueden comunicar paquetes de voz y datos a través de redes inalámbricas. Además, muchos de estos dispositivos incorporan funcionalidades adicionales, tales como una cámara fotográfica digital, una cámara de vídeo digital, una grabadora digital y un reproductor de archivos de audio. Asimismo, dichos dispositivos pueden procesar instrucciones ejecutables, incluyendo aplicaciones de software, tales como una aplicación de navegador web, que puede usarse para acceder a Internet. Como tal, estos dispositivos pueden incluir capacidades informáticas significativas.
[0004] En algunos ejemplos, los dispositivos informáticos pueden incluir codificadores y descodificadores que se utilizan durante la comunicación de datos de medios, como datos de audio. Para ilustrar, un dispositivo informático puede incluir un codificador que genera señales de audio mezcladas de forma descendente (por ejemplo, una señal de banda media y una señal de banda lateral) basándose en una pluralidad de señales de audio. El codificador puede generar un flujo de bits de audio basado en las señales de audio mezcladas y los parámetros de codificación.
[0005] El codificador puede tener un número limitado de bits para codificar el flujo de bits de audio. Dependiendo de las características de los datos de audio que se codifican, ciertos parámetros de codificación pueden tener un mayor impacto en la calidad del audio que otros parámetros de codificación. Además, algunos parámetros de codificación pueden "superponerse", en cuyo caso puede ser suficiente codificar un parámetro mientras se omiten los otros parámetros. Por tanto, aunque puede resultar beneficioso asignar más bits a los parámetros que tienen un mayor impacto en la calidad del audio, identificar esos parámetros puede resultar complejo.
[0006] La solicitud de patente de Estados Unidos con número de publicación US 2014/112482 A1 describe un procedimiento para la codificación de audio espacial paramétrica de una señal de audio multicanal.
[0007] El documento "7 kHz audio-coding within 64 kbits/s: New Annex D with stereo embedded extensión" para la Recomendación UIT-T G.722 describe un algoritmo de codificación de audio y voz estéreo escalable.
[0008] La solicitud de patente china con el número de publicación CN 104681029 A describe un procedimiento para codificar un parámetro de fase estéreo.
[0009] El documento "Flexible sum-difference stereo coding based on time-aligned signal components” de Lindblom et al. describe una trama para la codificación flexible y eficiente de señales de audio estéreo generales.
IV. Breve explicación
[0010] El alcance de la protección está definido por las reivindicaciones independientes, a las que se deberá hacer referencia a continuación. Las características opcionales están incluidas en las reivindicaciones dependientes.
[0011] En una implementación particular, un dispositivo para procesar señales de audio incluye un analizador de desajuste temporal entre canales, un selector de modo de diferencia de fase entre canales (IPD) y un estimador de IPD. El analizador de desajuste temporal entre canales está configurado para determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado en al menos el valor de desajuste temporal entre canales. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0012] En otra implementación particular, un dispositivo para procesar señales de audio incluye un analizador de modo de diferencia de fase entre canales (IPD) y un analizador de IPD. El analizador de modo de IPD está configurado para determinar un modo de IPD. El analizador de IPD está configurado para extraer valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD. El flujo de bits de pistas estéreo está asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio.
[0013] En otra implementación particular, un dispositivo para procesar señales de audio incluye un receptor, un analizador de modo de IPD y un analizador de IPD. El receptor está configurado para recibir un flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio. El flujo de bits de pistas estéreo indica un valor de desajuste temporal entre canales y valores de diferencia de fase entre canales (IPD). El analizador de modo de IPD está configurado para determinar un modo de IPD basado en el valor de desajuste temporal entre canales. El analizador de IPD está configurado para determinar los valores de IPD basándose, al menos en parte, en una resolución asociada con el modo de IPD.
[0014] En otra implementación particular, un dispositivo para procesar señales de audio incluye un analizador de desajuste temporal entre canales, un selector de modo de diferencia de fase entre canales (IPD) y un estimador de IPD. El analizador de desajuste temporal entre canales está configurado para determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado en al menos el valor de desajuste temporal entre canales. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. En otra implementación particular, un dispositivo incluye un selector de modo de IPD, un estimador de IPD y un generador de señales de banda media. El selector de modo de IPD está configurado para seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basándose al menos en parte en un tipo de codificador asociado con una trama anterior de la señal de banda media en el dominio de la frecuencia. El estimador de IPD está configurado para determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. El generador de señales de banda media está configurado para generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0015] En otra implementación particular, un dispositivo para procesar señales de audio incluye un mezclador descendente, un preprocesador, un selector de modo de IPD y un estimador de IPD. El mezclador descendente está configurado para generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. El preprocesador está configurado para determinar un tipo de codificador previsto basándose en la señal de banda media estimada. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado, al menos en parte, en el tipo de codificador previsto. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0016] En otra implementación particular, un dispositivo para procesar señales de audio incluye un selector de modo de IPD, un estimador de IPD y un generador de señales de banda media. El selector de modo de IPD está configurado para seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de núcleo asociado con una trama anterior de la señal de banda media en el dominio de la frecuencia. El estimador de IPD está configurado para determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. El generador de señales de banda media está configurado para generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0017] En otra implementación particular, un dispositivo para procesar señales de audio incluye un mezclador descendente, un preprocesador, un selector de modo de IPD y un estimador de IPD. El mezclador descendente está configurado para generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. El preprocesador está configurado para determinar un tipo de núcleo previsto basándose en la señal estimada de banda media. El selector de modo de IPD está configurado para seleccionar un modo de IPD basándose en el tipo de núcleo previsto. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0018] En otra implementación particular, un dispositivo para procesar señales de audio incluye un clasificador de voz/música, un selector de modo de IPD y un estimador de IPD. El clasificador de voz/música está configurado para determinar un parámetro de decisión de voz/música basándose en una primera señal de audio, una segunda señal de audio o ambas. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado al menos en parte en el parámetro de decisión de voz/música. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0019] En otra implementación particular, un dispositivo para procesar señales de audio incluye un analizador de banda baja (LB), un selector de modo de IPD y un estimador de IPD. El analizador de LB está configurado para determinar una o más características LB, como una frecuencia de muestreo central (por ejemplo, 12,8 kilohercios (kHz) o 16 kHz), basándose en una primera señal de audio, una segunda señal de audio o ambas. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado, al menos en parte, en la frecuencia de muestreo del núcleo. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0020] En otra implementación particular, un dispositivo para procesar señales de audio incluye un analizador de extensión de ancho de banda (BWE), un selector de modo de IPD y un estimador de IPD. El analizador de extensión de ancho de banda está configurado para determinar uno o más parámetros de BWE basados en una primera señal de audio, una segunda señal de audio o ambas. El selector de modo de IPD está configurado para seleccionar un modo de IPD basado, al menos en parte, en los parámetros de BWE. El estimador de IPD está configurado para determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0021] En otra implementación particular, un dispositivo para procesar señales de audio incluye un analizador de modo de IPD y un analizador de IPD. El analizador de modo de IPD está configurado para determinar un modo de IPD basado en un indicador de modo de IPD. El analizador de IPD está configurado para extraer valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD. El flujo de bits de pistas estéreo está asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio.
[0022] En otra implementación particular, un procedimiento de procesamiento de señales de audio incluye determinar, en un dispositivo, un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. El procedimiento también incluye seleccionar, en el dispositivo, un modo de IPD basado en al menos el valor de desajuste temporal entre canales. El procedimiento incluye además determinar, en el dispositivo, valores de IPD basados en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0023] En otra implementación particular, un procedimiento de procesamiento de señales de audio incluye recibir, en un dispositivo, un flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio. El flujo de bits de pistas estéreo indica un valor de desajuste temporal entre canales y valores de diferencia de fase entre canales (IPD). El procedimiento también incluye determinar, en el dispositivo, un modo de IPD basado en el valor de desajuste temporal entre canales. El procedimiento incluye además determinar, en el dispositivo, los valores de IPD basándose, al menos en parte, en una resolución asociada con el modo de IPD.
[0024] En otra implementación particular, un procedimiento de codificación de datos de audio incluye determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. El procedimiento también incluye seleccionar un modo de IPD basado en al menos el valor de desajuste temporal entre canales. El procedimiento incluye además determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0025] En otra implementación particular, un procedimiento de codificación de datos de audio incluye seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de codificador asociado con una trama anterior de la señal de banda media en el dominio de la frecuencia. El procedimiento también incluye determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. El procedimiento incluye además generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0026] En otra implementación particular, un procedimiento de codificación de datos de audio incluye generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. El procedimiento también incluye determinar un tipo de codificador previsto basándose en la señal de banda media estimada. El procedimiento incluye además seleccionar un modo de IPD basado al menos en parte en el tipo de codificador previsto. El procedimiento también incluye determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0027] En otra implementación particular, un procedimiento de codificación de datos de audio incluye seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de núcleo asociado con una trama previa de la señal de banda media en el dominio de la frecuencia. El procedimiento también incluye determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. El procedimiento incluye además generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0028] En otra implementación particular, un procedimiento de codificación de datos de audio incluye generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. El procedimiento también incluye determinar un tipo de núcleo predicho basándose en la señal de banda media estimada. El procedimiento incluye además seleccionar un modo de IPD basándose en el tipo de núcleo previsto. El procedimiento también incluye determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0029] En otra implementación particular, un procedimiento de codificación de datos de audio incluye determinar un parámetro de decisión de voz/música basándose en una primera señal de audio, una segunda señal de audio o ambas. El procedimiento también incluye seleccionar un modo de IPD basado al menos en parte en el parámetro de decisión de voz/música. El procedimiento incluye además determinar los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0030] En otra implementación particular, un procedimiento para descodificar datos de audio incluye determinar un modo de IPD basándose en un indicador de modo de IPD. El procedimiento también incluye extraer valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD, el flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio.
[0031] En otra implementación particular, un dispositivo de almacenamiento legible por ordenador almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice operaciones que incluyen determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. Las operaciones también incluyen la selección de un modo de IPD basado en al menos el valor de desajuste temporal entre canales. Las operaciones incluyen además determinar los valores de IPD basándose en la primera señal de audio o la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0032] En otra implementación particular, un dispositivo de almacenamiento legible por ordenador almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice operaciones que comprenden recibir un flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio. El flujo de bits de pistas estéreo indica un valor de desajuste temporal entre canales y valores de diferencia de fase entre canales (IPD). Las operaciones también incluyen la determinación de un modo de IPD basado en el valor de desajuste temporal entre canales. Las operaciones incluyen además la determinación de los valores de IPD basándose, al menos en parte, en una resolución asociada con el modo de IPD.
[0033] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando son ejecutadas por un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen determinar un valor de desajuste temporal entre canales indicativo de un desajuste temporal entre una primera señal de audio y una segunda señal de audio. Las operaciones también incluyen la selección de un modo de IPD basado en al menos el valor de desajuste temporal entre canales. Las operaciones incluyen además la determinación de los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0034] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando son ejecutadas por un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen la selección de un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de codificador asociado con una trama de la señal de banda media en el dominio de la frecuencia. Las operaciones también incluyen determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. Las operaciones incluyen además generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0035] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando las ejecuta un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. Las operaciones también incluyen la determinación de un tipo de codificador predicho basándose en la señal de banda media estimada. Las operaciones incluyen además la selección de un modo de IPD basado, al menos en parte, en el tipo de codificador previsto. Las operaciones también incluyen la determinación de los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0036] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando son ejecutadas por un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de núcleo asociado con una trama anterior de la señal de banda media en el dominio de la frecuencia. Las operaciones también incluyen determinar los valores de IPD basándose en una primera señal de audio y una segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado. Las operaciones incluyen además generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD.
[0037] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando las ejecuta un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. Las operaciones también incluyen la determinación de un tipo de núcleo previsto basándose en la señal de banda media estimada. Las operaciones incluyen además la selección de un modo de IPD basado en el tipo de núcleo previsto. Las operaciones también incluyen la determinación de los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0038] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para codificar datos de audio. Las instrucciones, cuando son ejecutadas por un procesador dentro de un codificador, hacen que el procesador realice operaciones que incluyen determinar un parámetro de decisión de voz/música basándose en una primera señal de audio, una segunda señal de audio o ambas. Las operaciones también incluyen la selección de un modo de IPD basado al menos en parte en el parámetro de decisión de voz/música. Las operaciones incluyen además la determinación de los valores de IPD basándose en la primera señal de audio y la segunda señal de audio. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0039] En otra implementación particular, un medio legible por ordenador no transitorio incluye instrucciones para descodificar datos de audio. Las instrucciones, cuando son ejecutadas por un procesador dentro de un descodificador, hacen que el procesador realice operaciones que incluyen determinar un modo de IPD basándose en un indicador de modo de IPD. Las operaciones también incluyen la extracción de valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD. El flujo de bits de pistas estéreo está asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio.
[0040] Otras implementaciones, ventajas y características de la presente divulgación resultarán evidentes después de revisar la aplicación completa, que incluye las siguientes secciones:
Breve descripción de los dibujos, descripción detallada y reivindicaciones.
V. Breve descripción de los dibujos
[0041]
La FIG. 1 es un diagrama de bloques de un ejemplo ilustrativo particular de un sistema que incluye un codificador operativo para codificar diferencias de fase entre canales entre señales de audio y un descodificador operativo para descodificar las diferencias de fase entre canales;
la FIG. 2 es un diagrama de aspectos ilustrativos particulares del codificador de la FIG. 1;
la FIG. 3 es un diagrama de aspectos ilustrativos particulares del codificador de la FIG. 1;
la FIG. 4 es de aspectos ilustrativos particulares del codificador de la FIG. 1;
la FIG. 5 es un diagrama de flujo que ilustra un procedimiento particular para codificar diferencias de fase entre canales;
la FIG. 6 es un diagrama de flujo que ilustra otro procedimiento particular para codificar diferencias de fase entre canales;
la FIG. 7 es un diagrama de aspectos ilustrativos particulares del descodificador de la FIG. 1;
la FIG. 8 es un diagrama de aspectos ilustrativos particulares del descodificador de la FIG. 1;
la FIG. 9 es un diagrama de flujo que ilustra un procedimiento particular para descodificar diferencias de fase entre canales;
la FIG. 10 es un diagrama de flujo que ilustra un procedimiento particular para determinar los valores de diferencia de fase entre canales;
la FIG. 11 es un diagrama de bloques de un dispositivo que se puede hacer funcionar para codificar y descodificar diferencias de fase entre canales entre señales de audio de acuerdo con los sistemas, dispositivos y procedimientos de las FIGS. 1-10; y
la FIG. 12 es un diagrama de bloques de una estación base operable para codificar y descodificar diferencias de fase entre canales entre señales de audio de acuerdo con los sistemas, dispositivos y procedimientos de las FIGS. 1-11.
VI. Descripción detallada
[0042] Un dispositivo puede incluir un codificador configurado para codificar múltiples señales de audio. El codificador puede generar un flujo de bits de audio basado en parámetros de codificación que incluyen parámetros de codificación espacial. Los parámetros de codificación espacial se pueden denominar de forma alternativa "pistas estéreo". Un descodificador que recibe el flujo de bits de audio puede generar señales de audio de salida basadas en el flujo de bits de audio. Las pistas estéreo pueden incluir un valor de desajuste temporal entre canales, valores de diferencia de fase entre canales (IPD) u otros valores de pistas estéreo. El valor de desajuste temporal entre canales puede indicar una desalineación temporal entre una primera señal de audio de las múltiples señales de audio y una segunda señal de audio de las múltiples señales de audio. Los valores de IPD pueden corresponder a una pluralidad de subbandas de frecuencia. Cada uno de los valores de IPD puede indicar una diferencia de fase entre la primera señal de audio y la segunda señal de audio en una subbanda correspondiente.
[0043] Se describen sistemas y dispositivos operables para codificar y descodificar las diferencias de fase entre canales entre señales de audio. En un aspecto particular, un codificador selecciona una resolución de IPD basándose en al menos un valor de desajuste temporal entre canales y una o más características asociadas con múltiples señales de audio a codificar. Las una o más características incluyen una frecuencia de muestreo central, un valor de tono, un parámetro de actividad de voz, un factor de voz, uno o más parámetros de BWE, un tipo de núcleo, un tipo de códec, una clasificación de voz/música (por ejemplo, una voz/música parámetro de decisión), o una combinación de los mismos. Entre los parámetros de BWE se incluye un parámetro de asignación de ganancia, un parámetro de asignación espectral, un indicador de canal de referencia BWE entre canales o una combinación de los mismos. Por ejemplo, el codificador selecciona una resolución IPD basada en un valor de desajuste temporal entre canales, un valor de intensidad asociado con el valor de desajuste temporal entre canales, un valor de tono, un parámetro de actividad de voz, un factor de voz, una frecuencia de muestreo del núcleo, un tipo de núcleo, un tipo de códec, un parámetro de decisión de voz/música, un parámetro de asignación de ganancia, un parámetro de asignación espectral, un indicador de canal de referencia BWE entre canales o una combinación de los mismos. El codificador puede seleccionar una resolución de los valores de IPD (por ejemplo, una resolución de IPD) correspondiente a un modo de IPD. Como se usa en el presente documento, una "resolución" de un parámetro, como IPD, puede corresponder a un número de bits que se asignan para su uso en la representación del parámetro en un flujo de bits de salida. En una implementación particular, la resolución de los valores de IPD corresponde a un recuento de valores de IPD. Por ejemplo, un primer valor de IPD puede corresponder a una primera banda de frecuencias, un segundo valor de IPD puede corresponder a una segunda banda de frecuencias, y así sucesivamente. En esta implementación, una resolución de los valores de IPD indica un número de bandas de frecuencias para las cuales se debe incluir un valor de IPD en el flujo de bits de audio. En una implementación particular, la resolución corresponde a un tipo de codificación de los valores de IPD. Por ejemplo, se puede generar un valor de IPD usando un primer codificador (por ejemplo, un cuantificador escalar) para tener una primera resolución (por ejemplo, una resolución alta). De forma alternativa, el valor de IPD se puede generar usando un segundo codificador (por ejemplo, un cuantificador de vector) para tener una segunda resolución (por ejemplo, una resolución baja). Un valor de IPD generado por el segundo codificador puede estar representado por menos bits que un valor de IPD generado por el primer codificador. El codificador puede ajustar dinámicamente un número de bits usados para representar los valores de IPD en el flujo de bits de audio basándose en las características de las múltiples señales de audio. El ajuste dinámico del número de bits puede permitir que se proporcionen al descodificador valores de IPD de mayor resolución cuando se espera que los valores de IPD tengan un mayor impacto en la calidad del audio. Antes de proporcionar detalles sobre la selección de la resolución IPD, a continuación se presenta una descripción general de las técnicas de codificación de audio.
[0044] Se puede configurar un codificador de un dispositivo para codificar múltiples señales de audio. Las múltiples señales de audio pueden capturarse simultáneamente en el tiempo usando múltiples dispositivos de grabación, por ejemplo, múltiples micrófonos. En algunos ejemplos, las múltiples señales de audio (o audio multicanal) pueden generarse sintéticamente (por ejemplo, artificialmente) multiplexando varios canales de audio que se graban al mismo tiempo o en momentos diferentes. Como ejemplos ilustrativos, la grabación o multiplexación simultánea de los canales de audio puede dar como resultado una configuración de 2 canales (es decir, estéreo: izquierda y derecha), una configuración de canal 5.1 (izquierda, derecha, centro, envolvente izquierdo, envolvente derecho y canales de énfasis de baja frecuencia (LFE)), una configuración de canal 7.1, una configuración de canal 7.1+4, una configuración de canal 22.2, o una configuración de canal N.
[0045] Los dispositivos de captura de audio en salas de teleconferencia (o salas de telepresencia) pueden incluir múltiples micrófonos que adquieren audio espacial. El audio espacial puede incluir voz, así como audio de fondo que se codifica y transmite. La voz/audio de una fuente determinada (por ejemplo, un hablante) puede llegar a los múltiples micrófonos en diferentes momentos, en diferentes direcciones de llegada, o ambos, dependiendo de cómo estén dispuestos los micrófonos y de dónde se localiza la fuente (por ejemplo, el hablante) con respecto a los micrófonos y las dimensiones de la sala. Por ejemplo, una fuente de sonido (por ejemplo, un hablante) puede estar más cerca de un primer micrófono asociado con el dispositivo que de un segundo micrófono asociado con el dispositivo. Por lo tanto, un sonido emitido desde la fuente de sonido puede llegar al primer micrófono antes que al segundo micrófono, llegar al primer micrófono en una dirección de llegada distinta que en el segundo micrófono, o ambos. 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.
[0046] La codificación de medio lado (MS) y estéreo paramétrica (PS) son técnicas de codificación estéreo que pueden proporcionar una eficacia mejorada respecto a las técnicas de codificación mono dual. En la codificación mono doble, el canal (o señal) izquierdo (L) y el canal (o señal) derecho (R) se codifican independientemente sin usar la correlación entre canales. La codificación MS reduce la redundancia entre un par de canales L/R correlacionados al transformar el canal izquierdo y el canal derecho en un canal de suma y un canal de diferencia (por ejemplo, un canal lateral) antes de la codificación. La señal de suma y la señal de diferencia están codificadas en forma de onda en la codificación MS. Se gastan relativamente más bits en la señal de suma que en la señal lateral. La codificación PS reduce la redundancia en cada subbanda transformando las señales L/R en una señal de suma y un conjunto de parámetros secundarios. Los parámetros laterales pueden indicar una diferencia de intensidad entre canales (IID), un IPD, un desajuste temporal entre canales, etc. La señal de suma se codifica en forma de onda y se transmite junto con los parámetros laterales. En un sistema híbrido, el canal lateral puede estar codificado en forma de onda en las bandas inferiores (por ejemplo, menos de 2 kilohercios (kHz)) y el PS puede estar codificado en las bandas superiores (por ejemplo, mayor o igual a 2 kHz) donde la preservación de la fase entre canales es perceptivamente menos crítica.
[0047] La codificación MS y la codificación PS pueden realizarse en el dominio de la frecuencia o en el dominio de subbanda. En algunos ejemplos, el canal izquierdo y el canal derecho pueden no estar correlacionados. Por ejemplo, el canal izquierdo y el canal derecho pueden incluir señales sintéticas no correlacionadas. Cuando el canal izquierdo y el canal derecho no están correlacionados, la eficacia de codificación de la codificación MS, la codificación PS, o ambas, pueden aproximarse a la eficacia de codificación de la codificación mono doble.
[0048] Dependiendo de la configuración de grabación, puede haber un desplazamiento temporal entre un canal izquierdo y un canal derecho, así como otros efectos espaciales tales como el eco y la reverberación de la sala. Si el desplazamiento temporal y la falta de coincidencia de fase entre los canales no se compensan, el canal de suma y el canal de diferencia pueden contener energías comparables que reducen las ganancias de codificación asociadas con las técnicas MS o PS. La reducción en las ganancias de codificación se puede basar en la cantidad de desplazamiento temporal (o de fase). Las energías comparables de la señal de suma y la señal de diferencia pueden limitar el uso de la codificación MS en determinadas tramas donde los canales se desplazan temporalmente, pero están altamente correlacionados.
[0049] En la codificación estéreo, se puede generar un canal medio (por ejemplo, un canal de suma) y un canal lateral (por ejemplo, un canal de diferencia) basándose en la siguiente fórmula:
M=(L+R)/2, S=(L-R)/2, Fórmula 1
donde M corresponde al canal medio, S corresponde al canal lateral, L corresponde al canal izquierdo y R corresponde al canal derecho.
[0050] En algunos casos, el canal medio y el canal lateral se pueden generar basándose en la siguiente fórmula:
M=c (L+R), S=c(L-R), Fórmula 2
donde c corresponde a un valor complejo que depende de la frecuencia. Generar el canal medio y el canal lateral basados en la fórmula 1 o la fórmula 2 puede referirse a la realización de un algoritmo de "mezcla descendente". El proceso inverso de generar el canal izquierdo y el canal derecho desde el canal medio y el canal lateral basándose en la fórmula 1 o la fórmula 2 se puede referir a la realización de un algoritmo de "mezcla ascendente".
[0051] En algunos casos, el canal Medio puede basarse en otras fórmulas como:
M = (L+sdR)/2, o Fórmula 3
M — gi+g2R Fórm ula 4
donde g1 g2 = 1.0, y donde gD es un parámetro de ganancia. En otros ejemplos, la mezcla descendente se puede realizar en bandas, donde mid(b) = c1L(b) c2R(b), donde c1 y c2 son números complejos, donde side(b) = c3L(b) - c4R(b), y donde c3 y c4 son números complejos.
[0052] Como se describió anteriormente, en algunos ejemplos, un codificador puede determinar un valor de desajuste temporal entre canales indicativo de un desplazamiento de la primera señal de audio con respecto a la segunda señal de audio. El desajuste temporal entre canales puede corresponder a un valor de alineación entre canales (ICA) o un valor de desajuste temporal entre canales (ITM). ICA e ITM pueden ser formas alternativas de representar la desalineación temporal entre dos señales. El valor de ICA (o el valor de ITM) puede corresponder a un desplazamiento de la primera señal de audio con respecto a la segunda señal de audio en el dominio del tiempo. De forma alternativa, el valor de ICA (o el valor de ITM) puede corresponder a un desplazamiento de la segunda señal de audio con respecto a la primera señal de audio en el dominio del tiempo. Tanto el valor de ICA como el valor de ITM pueden ser estimaciones del desplazamiento que se generan utilizando diferentes procedimientos. Por ejemplo, el valor de ICA se puede generar usando procedimientos en el dominio del tiempo, mientras que el valor de ITM se puede generar usando procedimientos en el dominio de la frecuencia.
[0053] El valor de desajuste temporal entre canales puede corresponder a una cantidad de desalineación temporal (por ejemplo, retardo temporal) entre la recepción de la primera señal de audio en el primer micrófono y la recepción de la segunda señal de audio en el segundo micrófono. El codificador puede determinar el valor de desajuste temporal entre canales trama a trama, por ejemplo, basándose en cada trama de voz/audio de 20 milisegundos (ms). Por ejemplo, el valor de desajuste temporal entre canales puede corresponder a una cantidad de tiempo en el que una trama de la segunda señal de audio se retarda con respecto a una trama de la primera señal de audio. De forma alternativa, el valor de desajuste temporal entre canales puede corresponder a una cantidad de tiempo que la trama de la primera señal de audio se retarda con respecto a la trama de la segunda señal de audio.
[0054] Dependiendo de dónde se localicen las fuentes de sonido (por ejemplo, los hablantes) en una sala de conferencias o telepresencia o cómo cambie la posición de la fuente de sonido (por ejemplo, el hablante) en relación con los micrófonos, el valor de desajuste temporal entre canales puede cambiar de una trama a otra. El valor de desajuste temporal entre canales puede corresponder a un valor de "desplazamiento no causal" mediante el cual la señal retardada (por ejemplo, una señal objetivo) se "retrae" en el tiempo de modo que la primera señal de audio esté alineada (por ejemplo, con la alineación máxima) con la segunda señal de audio. "Retraer" la señal objetivo puede corresponder a hacer avanzar la señal objetivo en el tiempo. Por ejemplo, una primera trama de la señal retardada (por ejemplo, la señal objetivo) puede recibirse en los micrófonos aproximadamente al mismo tiempo que una primera trama de la otra señal (por ejemplo, una señal de referencia). Se puede recibir una segunda trama de la señal retardada después de recibir la primera trama de la señal retardada. Al codificar la primera trama de la señal de referencia, el codificador puede seleccionar la segunda trama de la señal retardada en lugar de la primera trama de la señal retardada en respuesta a determinar que existe una diferencia entre la segunda trama de la señal retardada y la primera trama de la señal de referencia que es menor que una diferencia entre la primera trama de la señal retardada y la primera trama de la señal de referencia. El desplazamiento no causal de la señal retardada con respecto a la señal de referencia incluye alinear la segunda trama de la señal retardada (que se recibe más tarde) con la primera trama de la señal de referencia (que se recibe antes). El valor de desplazamiento no causal puede indicar un número de tramas entre la primera trama de la señal retardada y la segunda trama de la señal retardada. Debe entenderse que el desplazamiento a nivel de trama se describe para facilitar la explicación; en algunos aspectos, el desplazamiento no causal a nivel de muestra se realiza para alinear la señal retardada y la señal de referencia.
[0055] El codificador puede determinar los primeros valores de IPD correspondientes a una pluralidad de subbandas de frecuencia basándose en la primera señal de audio y la segunda señal de audio. Por ejemplo, la primera señal de audio (o la segunda señal de audio) se puede ajustar basándose en el valor de desajuste temporal entre canales. En una implementación particular, los primeros valores de IPD corresponden a diferencias de fase entre la primera señal de audio y la segunda señal de audio ajustada en subbandas de frecuencia. En una implementación alternativa, los primeros valores de IPD corresponden a diferencias de fase entre la primera señal de audio ajustada y la segunda señal de audio en las subbandas de frecuencia. En otra implementación alternativa, los primeros valores de IPD corresponden a diferencias de fase entre la primera señal de audio ajustada y la segunda señal de audio ajustada en las subbandas de frecuencia. En diversas implementaciones descritas en el presente documento, el ajuste temporal del primer o segundo canal podría realizarse de forma alternativa en el dominio del tiempo (en lugar de en el dominio de la frecuencia). Los primeros valores de IPD pueden tener una primera resolución (por ejemplo, resolución completa o alta resolución). La primera resolución puede corresponder a un primer número de bits que se utilizan para representar los primeros valores de IPD.
[0056] El codificador puede determinar dinámicamente la resolución de los valores de IPD que se incluirán en un flujo de bits de audio codificado basándose en varias características, como el valor de desajuste temporal entre canales, un valor de intensidad asociado con el valor de desajuste temporal entre canales, un tipo de núcleo, un tipo de códec, un parámetro de decisión de voz/música, o una combinación de los mismos. El codificador puede seleccionar un modo de IPD basándose en las características, como se describe en el presente documento, mientras que el modo de IPD corresponde a una resolución particular.
[0057] El codificador puede generar valores de IPD que tengan la resolución particular ajustando una resolución de los primeros valores de IPD. Por ejemplo, los valores de IPD pueden incluir un subconjunto de los primeros valores de IPD correspondientes a un subconjunto de la pluralidad de subbandas de frecuencia.
[0058] El algoritmo de mezcla descendente para determinar el canal medio y el canal lateral se puede realizar en la primera señal de audio y la segunda señal de audio basándose en el valor de desajuste temporal entre canales, los valores de IPD o una combinación de los mismos. El codificador puede generar un flujo de bits de canal medio codificando el canal medio, un flujo de bits de canal lateral codificando el canal lateral y un flujo de bits de pistas estéreo que indican el valor de desajuste temporal entre canales, los valores de IPD (que tienen la resolución particular), un indicador del modo de IPD, o una combinación de los mismos.
[0059] En un aspecto particular, un dispositivo realiza un algoritmo de entramado o de almacenamiento en memoria intermedia para generar una trama (por ejemplo, muestras de 20 ms) a una primera velocidad de muestreo (por ejemplo, velocidad de muestreo de 32 kHz para generar 640 muestras por trama). El codificador puede, en respuesta a la determinación de que una primera trama de la primera señal de audio y una segunda trama de la segunda señal de audio llegan al mismo tiempo al dispositivo, estimar un valor de desajuste temporal entre canales 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 estar alineados temporalmente. En algunos casos, el canal izquierdo y el canal derecho, incluso cuando están alineados, pueden diferir en energía debido a diversas razones (por ejemplo, calibración del micrófono).
[0060] En algunos ejemplos, el canal izquierdo y el canal derecho pueden no estar alineados temporalmente debido a varias razones (por ejemplo, una fuente de sonido, tal como un hablante, puede estar más cerca de uno de los micrófonos que otra y los dos los micrófonos pueden estar a más de un umbral (por ejemplo, 1-20 centímetros) de distancia). Una localización de la fuente de sonido en relación con los micrófonos puede introducir diferentes retardos en el canal izquierdo y el canal derecho. Además, puede haber una diferencia de ganancia, una diferencia de energía o una diferencia de nivel entre el canal izquierdo y el canal derecho.
[0061] En algunos ejemplos, la primera señal de audio y la segunda señal de audio pueden sintetizarse o generarse artificialmente cuando las dos señales muestran potencialmente menos correlación (por ejemplo, ninguna correlación). Debe entenderse que los ejemplos descritos en el presente documento son ilustrativos y pueden ser instructivos para determinar una relación entre la primera señal de audio y la segunda señal de audio en situaciones similares o diferentes.
[0062] El codificador puede generar valores de comparación (por ejemplo, valores de diferencia o valores de correlación cruzada) basándose en una comparación de una primera trama de la primera señal de audio y una pluralidad de tramas de la segunda señal de audio. Cada trama de la pluralidad de tramas puede corresponder a un valor particular de desajuste temporal entre canales. El codificador puede generar un valor de desajuste temporal entre canales basado en los valores de comparación. Por ejemplo, el valor de desajuste temporal entre canales puede corresponder a un valor de comparación que indica una mayor similitud temporal (o menor diferencia) entre la primera trama de la primera señal de audio y la primera trama correspondiente de la segunda señal de audio.
[0063] El codificador puede generar los primeros valores de IPD correspondientes a una pluralidad de subbandas de frecuencia basándose en una comparación de la primera trama de la primera señal de audio y la primera trama correspondiente de la segunda señal de audio. El codificador puede seleccionar un modo de IPD basado en el valor de desajuste temporal entre canales, un valor de intensidad asociado con el valor de desajuste temporal entre canales, un tipo de núcleo, un tipo de códec, un parámetro de decisión de voz/música o una combinación de los mismos. El codificador puede generar valores de IPD que tengan una resolución particular correspondiente al modo de IPD ajustando una resolución de los primeros valores de IPD. El codificador puede realizar un desplazamiento de fase en la primera trama correspondiente de la segunda señal de audio basándose en los valores de IPD.
[0064] El codificador puede generar al menos una señal codificada (por ejemplo, una señal media, una señal lateral o ambas) basándose en la primera señal de audio, la segunda señal de audio, el valor de desajuste temporal entre canales y los valores de IPD. 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 segundas muestras de la primera trama correspondiente con desplazamiento de fase de la segunda señal de audio. Se pueden usar menos bits para codificar la señal del canal lateral debido a la diferencia reducida entre las primeras muestras y las segundas muestras en comparación con otras muestras de la segunda señal de audio que corresponden a una trama de la segunda señal de audio que recibe el dispositivo al mismo tiempo que la primera trama. Un transmisor del dispositivo puede transmitir la al menos una señal codificada, el valor de desajuste temporal entre canales, los valores de IPD, un indicador de la resolución particular o una combinación de los mismos.
[0065] Con referencia a la FIG. 1, se divulga un ejemplo ilustrativo particular de un sistema y se designa en general 100. El sistema 100 incluye un primer dispositivo 104 acoplado de forma comunicativa, a través de una red 120, a un segundo dispositivo 106. La red 120 puede incluir una o más redes inalámbricas, una o más redes cableadas, o una combinación de las mismas.
[0066] El primer dispositivo 104 puede incluir un codificador 114, un transmisor 110, una o más interfaces de entrada 112, o una combinación de los mismos. Una primera interfaz de entrada de las interfaces de entrada 112 puede estar acoplada a un primer micrófono 146. Una segunda interfaz de entrada de la interfaz o interfaces de entrada 112 puede estar acoplada a un segundo micrófono 148. El codificador 114 puede incluir un analizador de desajuste temporal entre canales (ITM) 124, un selector de modo de IPD 108, un estimador de IPD 122, un clasificador de voz/música 129, un analizador 157 de LB, un analizador de extensión de ancho de banda (BWE) 153 o una combinación de los mismos. El codificador 114 puede configurarse para realizar una mezcla descendente y codificar múltiples señales de audio, como se describe en el presente documento.
[0067] El segundo dispositivo informático 106 puede incluir un descodificador 118 y un receptor 170. El descodificador 118 puede incluir un analizador de modo de IPD 127, un analizador de IPD 125 o ambos. El descodificador 118 puede configurarse para mezclar de forma ascendente y renderizar múltiples canales. El segundo dispositivo 106 puede estar acoplado a un primer altavoz 142, un segundo altavoz 144, o ambos. Aunque la FIG. 1 ilustra un ejemplo en el que un dispositivo incluye un codificador y otro dispositivo incluye un descodificador, debe entenderse que en aspectos alternativos, los dispositivos pueden incluir tanto codificadores como descodificadores.
[0068] Durante el funcionamiento, el primer dispositivo 104 puede recibir una primera señal de audio 130 a través de la primera interfaz de entrada desde el primer micrófono 146 y puede recibir una segunda señal de audio 132 a través de la segunda interfaz de entrada desde el segundo micrófono 148. La primera señal de audio 130 puede corresponder a una de una señal del canal derecho o una señal del canal izquierdo. La segunda señal de audio 132 puede corresponder a la otra de la señal del canal derecho o la señal del canal izquierdo. Una fuente de sonido 152 (por ejemplo, un usuario, un altavoz, ruido ambiental, un instrumento musical, etc.) puede estar más cerca del primer micrófono 146 que del segundo micrófono 148 como se muestra en la FIG. 1. Por consiguiente, se puede recibir una señal de audio de la fuente de sonido 152 en la interfaz o interfaces de entrada 112 a través del primer micrófono 146 en un momento anterior que a través del segundo micrófono 148. Este retardo natural en la adquisición de la señal multicanal a través de los múltiples micrófonos puede introducir un desajuste temporal entre canales entre la primera señal de audio 130 y la segunda señal de audio 132.
[0069] El analizador de desajuste temporal entre canales 124 puede determinar un valor de desajuste temporal entre canales 163 (por ejemplo, un valor de desplazamiento no causal) indicativo del desplazamiento (por ejemplo, un desplazamiento no causal) de la primera señal de audio 130 con respecto a la segunda señal de audio 132. En este ejemplo, la primera señal de audio 130 puede corresponder a una señal "objetivo" y la segunda señal de audio 132 puede corresponder a una señal "de referencia". Un primer valor (por ejemplo, un valor positivo) del valor de desajuste temporal entre canales 163 puede indicar que la segunda señal de audio 132 está retardada en relación con la primera señal de audio 130. Un segundo valor (por ejemplo, un valor negativo) del valor de desajuste temporal entre canales 163 puede indicar que la primera señal de audio 130 está retardada en relación con la segunda señal de audio 132. Un tercer valor (por ejemplo, 0) del valor de desajuste temporal entre canales 163 puede indicar que no hay desalineación temporal (por ejemplo, no hay retardo temporal) entre la primera señal de audio 130 y la segunda señal de audio 132.
[0070] El analizador de desajuste temporal entre canales 124 puede determinar el valor de desajuste temporal entre canales 163, un valor de intensidad 150, o ambos, basándose en una comparación de una primera trama de la primera señal de audio 130 y una pluralidad de tramas de la segunda señal de audio 132 (o viceversa), como se describe adicionalmente con referencia a la FIG. 4. El analizador de desajuste temporal entre canales 124 puede generar una primera señal de audio ajustada 130 (o una segunda señal de audio ajustada 132, o ambas) ajustando la primera señal de audio 130 (o la segunda señal de audio 132, o ambas) basándose en el valor de desajuste temporal entre canales 163, como se describe adicionalmente con referencia a la FIG. 4. El clasificador de voz/música 129 puede determinar un parámetro de decisión de voz/música 171 basándose en la primera señal de audio 130, la segunda señal de audio 132, o ambas, como se describe adicionalmente con referencia a la FIG. 4. El parámetro de decisión de voz/música 171 puede indicar si la primera trama de la primera señal de audio 130 corresponde más estrictamente con (y por lo tanto es más probable que incluya) voz o música.
[0071] El codificador 114 puede configurarse para determinar un tipo de núcleo 167, un codificador de tipo 169 o ambos. Por ejemplo, antes de la codificación de la primera trama de la primera señal de audio 130, una segunda trama de la primera señal de audio 130 puede haber sido codificada basándose en un tipo de núcleo anterior, un tipo de codificador anterior o ambos. De forma alternativa, el tipo de núcleo 167 puede corresponder al tipo de núcleo anterior, el tipo de codificador 169 puede corresponder al tipo de codificador anterior, o ambos. En un aspecto alternativo, el tipo de núcleo 167 corresponde a un tipo de núcleo previsto, el tipo de codificador 169 corresponde a un tipo de codificador previsto, o ambos. El codificador 114 puede determinar el tipo de núcleo predicho, el tipo de codificador predicho, o ambos, basándose en la primera señal de audio 130 y la segunda señal de audio 132, como se describe adicionalmente con referencia a la FIG. 2. Por tanto, los valores del tipo de núcleo 167 y el tipo de codificador 169 pueden establecerse en los valores respectivos que se usaron para codificar una trama anterior, o tales valores pueden predecirse independientemente de los valores que se usaron para codificar la trama anterior.
[0072] El analizador de LB 157 está configurado para determinar uno o más parámetros de LB 159 basándose en la primera señal de audio 130, la segunda señal de audio 132, o ambas, como se describe adicionalmente con referencia a la FIG. 2. Los parámetros de LB 159 incluyen una frecuencia de muestreo central (por ejemplo, 12,8 kHz o 16 kHz), un valor de tono, un factor de voz, un parámetro de actividad de voz, otra característica de LB o una combinación de los mismos. El analizador de BWE 153 está configurado para determinar uno o más parámetros de BWE 155 basándose en la primera señal de audio 130, la segunda señal de audio 132, o ambas, como se describe adicionalmente con referencia a la FIG. 2. Entre los parámetros de BWE 155 se incluye uno o más parámetros de BWE entre canales, tales como un parámetro de asignación de ganancia, un parámetro de asignación espectral, un indicador de canal de referencia BWE entre canales o una combinación de los mismos.
[0073] El selector de modo de IPD 108 puede seleccionar un modo de IPD 156 basándose en el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169, los parámetros de LB 159, los parámetros de BWE 155, el parámetro de decisión de voz/música 171, o una combinación de los mismos, como se describe adicionalmente con referencia a la FIG. 4. El modo de IPD 156 puede corresponder a una resolución 165, es decir, un número de bits a utilizar para representar un valor de IPD. El estimador de IPD 122 puede generar valores de IPD 161 que tienen la resolución 165, como se describe adicionalmente con referencia a la FIG. 4. En una implementación particular, la resolución 165 corresponde a un recuento de los valores de IPD 161. Por ejemplo, un primer valor de IPD puede corresponder a una primera banda de frecuencias, un segundo valor de IPD puede corresponder a una segunda banda de frecuencias, y así sucesivamente. En esta implementación, la resolución 165 indica una serie de bandas de frecuencias para las que se debe incluir un valor de IPD en los valores de IPD 161. En un aspecto particular, la resolución 165 corresponde a un rango de valores de fase. Por ejemplo, la resolución 165 corresponde a un número de bits para representar un valor incluido en el rango de valores de fase.
[0074] En un aspecto particular, la resolución 165 indica un número de bits (por ejemplo, una resolución de cuantificación) que se utilizarán para representar valores de IPD absolutos. Por ejemplo, la resolución 165 puede indicar que se utilizará un primer número de bits (por ejemplo, una primera resolución de cuantificación) para representar un primer valor absoluto de un primer valor de IPD correspondiente a una primera banda de frecuencias, que se utilizará un segundo número de los bits (por ejemplo, una segunda resolución de cuantificación) para representar un segundo valor absoluto de un segundo valor de IPD correspondiente a una segunda banda de frecuencias, que esos bits adicionales se utilizarán para representar valores de IPD absolutos adicionales correspondientes a bandas de frecuencias adicionales, o una combinación de los mismos. Los valores de IPD 161 pueden incluir el primer valor absoluto, el segundo valor absoluto, los valores de IPD absolutos adicionales o una combinación de los mismos. En un aspecto particular, la resolución 165 indica un número de bits que se utilizarán para representar una cantidad de variación temporal de los valores de IPD entre tramas. Por ejemplo, los primeros valores de IPD pueden asociarse con una primera trama y los segundos valores de IPD pueden asociarse con una segunda trama. El estimador de IPD 122 puede determinar una cantidad de variación temporal basándose en una comparación de los primeros valores de IPD y los segundos valores de IPD. Los valores de IPD 161 pueden indicar la cantidad de variación temporal. En este aspecto, la resolución 165 indica un número de bits usados para representar la cantidad de variación temporal. El codificador 114 puede generar un indicador de modo de IPD 116 que indica el modo de IPD 156, la resolución 165 o ambos.
[0075] El codificador 114 puede generar un flujo de bits de banda lateral 164, un flujo de bits de banda media 166, o ambos, basándose en la primera señal de audio 130, la segunda señal de audio 132, los valores de IPD 161, el valor de desajuste temporal entre canales 163 o un combinación de los mismos, como se describe adicionalmente con referencia a las FIGS. 2-3. Por ejemplo, el codificador 114 puede generar el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o ambos, basándose en la primera señal de audio ajustada 130 (por ejemplo, una primera señal de audio alineada), la segunda señal de audio 132 (por ejemplo, una segunda señal de audio alineada), los valores de IPD 161, el valor de desajuste temporal entre canales 163, o una combinación de los mismos. Como otro ejemplo, el codificador 114 puede generar el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o ambos, basándose en la primera señal de audio 130, la segunda señal de audio ajustada 132, los valores de IPD 161, el valor de desajuste temporal entre canales 163, o una combinación de los mismos. El codificador 114 también puede generar un flujo de bits de pistas estéreo 162 que indique los valores de IPD 161, el valor de desajuste temporal entre canales 163, el indicador de modo de IPD 116, el tipo de núcleo 167, el codificador tipo 169, el valor de intensidad 150, el parámetro de decisión de voz/música 171, o una combinación de los mismos.
[0076] El transmisor 110 puede transmitir el flujo de bits de pistas estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o una combinación de los mismos, a través de la red 120, al segundo dispositivo 106. De forma alternativa, o adicional, el transmisor 110 puede almacenar el flujo de bits de pistas estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o una combinación de los mismos, en un dispositivo de la red 120 o un dispositivo local para su posterior procesamiento o descodificación en un momento posterior. Cuando la resolución 165 corresponde a más de cero bits, los valores de IPD 161 además del valor de desajuste temporal entre canales 163 pueden permitir ajustes de subbanda más precisos en un descodificador (por ejemplo, el descodificador 118 o un descodificador local). Cuando la resolución 165 corresponde a cero bits, el flujo de bits de pistas estéreo 162 puede tener menos bits o puede tener bits disponibles para incluir parámetros de pistas estéreo distintos de IPD.
[0077] El receptor 170 puede recibir, a través de la red 120, el flujo de bits de pistas estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o una combinación de los mismos. El descodificador 118 puede realizar operaciones de descodificación basadas en el flujo de bits de pistas estéreo 162, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o una combinación de los mismos, para generar señales de salida 126, 128 correspondientes a versiones descodificadas de las señales de entrada 130, 132. Por ejemplo, el analizador 127 de modo de IPD puede determinar que el flujo de bits de pistas estéreo 162 incluye el indicador de modo de IPD 116 y que el indicador de modo de IPD 116 indica el modo de IPD 156. El analizador de IPD 125 puede extraer los valores de IPD 161 del flujo de bits de pistas estéreo 162 basándose en la resolución 165 correspondiente al modo de IPD 156. El descodificador 118 puede generar la primera señal de salida 126 y la segunda señal de salida 128 basándose en los valores de IPD 161, el flujo de bits de banda lateral 164, el flujo de bits de banda media 166, o una combinación de los mismos, como se describe adicionalmente con referencia a la FIG. 7. El segundo dispositivo 106 puede emitir la primera señal de salida 126 a través del primer altavoz 142. El segundo dispositivo 106 puede emitir la segunda señal de salida 128 a través del segundo altavoz 144. En ejemplos alternativos, la primera señal de salida 126 y la segunda señal de salida 128 pueden transmitirse como un par de señales estéreo a un único altavoz de salida.
[0078] Por tanto, el sistema 100 puede permitir que el codificador 114 ajuste dinámicamente una resolución de los valores de IPD 161 basándose en diversas características. Por ejemplo, el codificador 114 puede determinar una resolución de los valores de IPD basándose en el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169, el parámetro de decisión de voz/música 171 o una combinación de los mismos. Por tanto, el codificador 114 puede de este modo tener más bits disponibles para codificar otra información cuando los valores de IPD 161 tienen una resolución baja (por ejemplo, resolución cero) y puede permitir la realización de ajustes de subbanda más finos en un descodificador cuando los valores de IPD 161 tienen una resolución más alta.
[0079] En referencia a la FIG. 2, se muestra un ejemplo ilustrativo del codificador 114. El codificador 114 incluye el analizador de desajuste temporal entre canales 124 acoplado a un estimador de pistas estéreo 206. El estimador de pistas estéreo 206 puede incluir el clasificador de voz/música 129, el analizador de LB 157, el analizador de BWE 153, el selector de modo de IPD 108, el estimador de IPD 122 o una combinación de los mismos.
[0080] Un transformador 202 se puede acoplar, a través del analizador de desajuste temporal entre canales 124, al estimador de pistas estéreo 206, un generador de señales de banda lateral 208, un generador de señales de banda media 212 o una combinación de los mismos. Un transformador 204 puede acoplarse, a través del analizador de desajuste temporal entre canales 124, al estimador de pistas estéreo 206, al generador de señales de banda lateral 208, al generador de señales de banda media 212, o una combinación de los mismos. El generador de señales de banda lateral 208 puede acoplarse a un codificador de banda lateral 210. El generador de señales de banda media 212 puede acoplarse a un codificador de banda media 214. El estimador de pistas estéreo 206 se puede acoplar al generador de señales de banda lateral 208, el codificador de banda lateral 210, el generador de señales de banda media 212, o una combinación de los mismos.
[0081] En algunos ejemplos, la primera señal de audio 130 de la FIG. 1 puede incluir una señal de canal izquierdo y la segunda señal de audio 132 de la FIG. 1 puede incluir una señal de canal derecho. Una señal izquierda en el dominio del tiempo (Lt) 290 puede corresponder a la primera señal de audio 130 y una señal derecha en el dominio del tiempo (Rt) 292 puede corresponder a la segunda señal de audio 132. Sin embargo, debe entenderse que en otros ejemplos, la primera señal de audio 130 puede incluir una señal del canal derecho y la segunda señal de audio 132 puede incluir una señal del canal izquierdo. En tales ejemplos, la señal derecha en el dominio del tiempo (Rt) 292 puede corresponder a la primera señal de audio 130 y una señal izquierda en el dominio del tiempo (Lt) 290 puede corresponder a la segunda señal de audio 132. También debe entenderse que los diversos componentes ilustrados en las FIGS. 1-4, 7-8 y 10 (por ejemplo, transformadas, generadores de señales, codificadores, estimadores, etc.) pueden implementarse usando hardware (por ejemplo, circuitería dedicada), software (por ejemplo, instrucciones ejecutadas por un procesador) o una combinación de los mismos.
[0082] Durante el funcionamiento, el transformador 202 puede realizar una transformada en la señal izquierda en el dominio del tiempo (Lt) 290 y el transformador 204 puede realizar una transformada en la señal derecha en el dominio del tiempo (Rt) 292. Los transformadores 202, 204 pueden realizar operaciones de transformada que generan señales en el dominio de la frecuencia (o dominio de subbanda). Como ejemplos no limitativos, los transformadores 202, 204 pueden realizar operaciones de Transformada Discreta de Fourier (DFT), operaciones de Transformada Rápida de Fourier (FFT), etc. En una implementación particular, operaciones de Quadrature Mirror Filterbank (QMF) (utilizando bancos de filtros, como un Banco de filtros de retardo bajo complejo) se utilizan para dividir las señales de entrada 290, 292 en múltiples subbandas, y las subbandas se pueden convertir en el dominio de la frecuencia utilizando otra operación de transformada en el dominio de la frecuencia. El transformador 202 puede generar una señal izquierda en el dominio de la frecuencia (Lfr(b)) 229 transformando la señal izquierda en el dominio del tiempo (Lt) 290, y el transformador 304 puede generar una señal derecha en el dominio de la frecuencia (Rfr(b)) 231 transformando la señal derecha en el dominio del tiempo (Rt) 292.
[0083] El analizador de desajuste temporal entre canales 124 puede generar el valor de desajuste temporal entre canales 163, el valor de intensidad 150, o ambos, basándose en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 231, como se describe con referencia a la FIG.
4. El valor de desajuste temporal entre canales 163 puede proporcionar una estimación de un desajuste temporal entre la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 231. El valor de desajuste temporal entre canales 163 puede incluir un valor de ICA 262. El analizador de desajuste temporal entre canales 124 puede generar una señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y una señal derecha en el dominio de la frecuencia (Rfr(b)) 232 basada en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229, la señal derecha en el dominio de la frecuencia (Rfr(b)) 231, y el valor de desajuste temporal entre canales 163. Por ejemplo, el analizador de desajuste temporal entre canales 124 puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 desplazando la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229 basándose en un valor de ITM 264. La señal derecha en el dominio de la frecuencia (Rfr(b)) 232 puede corresponder a la señal derecha en el dominio de la frecuencia (Rfr(b)) 231. De forma alternativa, el analizador de desajuste temporal entre canales 124 puede generar la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 desplazando la señal derecha en el dominio de la frecuencia (Rfr(b)) 231 basándose en el valor de iTm 264. La señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 puede corresponder a la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229.
[0084] En un aspecto particular, el analizador de desajuste temporal entre canales 124 genera el valor de desajuste temporal entre canales 163, el valor de intensidad 150, o ambos, basándose en la señal izquierda en el dominio del tiempo (Lt) 290 y la señal derecha en el dominio del tiempo (Rt) 292, como se describe con referencia a la FIG. 4. En este aspecto, el valor de desajuste temporal entre canales 163 incluye el valor de ITM 264 en lugar del valor de ICA 262, como se describe con referencia a la FIG. 4. El analizador de desajuste temporal 124 entre canales puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 basándose en la señal izquierda en el dominio del tiempo (Lt) 290, la señal derecha en el dominio del tiempo (Rt) 292, y el valor de desajuste temporal entre canales 163. Por ejemplo, el analizador de desajuste temporal entre canales 124 puede generar una señal izquierda ajustada en el dominio del tiempo (Lt) 290 desplazando la señal izquierda en el dominio del tiempo (Lt) 290 basándose en el valor de ICA 262. El analizador de desajuste temporal entre canales 124 puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 realizando una transformada en la señal izquierda ajustada en el dominio del tiempo (Lt) 290 y la señal derecha en el dominio del tiempo (Rt) 292, respectivamente. De forma alternativa, el analizador de desajuste temporal entre canales 124 puede generar una señal derecha ajustada en el dominio del tiempo (Rt) 292 desplazando la señal derecha en el dominio del tiempo (Rt) 292 basándose en el valor de ICA 262. El analizador de desajuste temporal 124 entre canales puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 realizando una transformada en la señal izquierda en el dominio del tiempo (Lt) 290 y la señal derecha ajustada en el dominio del tiempo (Rt) 292, respectivamente. De forma alternativa, el analizador de desajuste temporal entre canales 124 puede generar una señal izquierda ajustada en el dominio del tiempo (Lt) 290 desplazando la señal izquierda en el dominio del tiempo (Lt) 290 basándose en el valor de ICA 262 y generar una señal derecha ajustada en el dominio del tiempo. (Rt) 292 desplazando la señal derecha en el dominio del tiempo (Rt) 292 basándose en el valor de ICA 262. El analizador de desajuste temporal entre canales 124 puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 realizando una transformada en la señal izquierda ajustada en el dominio del tiempo (Lt) 290 y la señal derecha ajustada en el dominio del tiempo (Rt) 292, respectivamente.
[0085] Cada uno del estimador de pistas estéreo 206 y el generador de señales de banda lateral 208 puede recibir el valor de desajuste temporal entre canales 163, el valor de intensidad 150, o ambos, desde el analizador de desajuste temporal entre canales 124. El estimador de pistas estéreo 206 y el generador de señales de banda lateral 208 también pueden recibir la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 del transformador 202, la señal en el dominio de la frecuencia derecha (Rfr(b)) 232 del transformador 204, o una combinación de los mismos. El estimador de pistas estéreo 206 puede generar el flujo de bits de pistas estéreo 162 basándose en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, la señal derecha en el dominio de la frecuencia (Rfr(b)) 232, el valor de desajuste temporal entre canales 163, el valor de intensidad 150, o una combinación de los mismos. Por ejemplo, el estimador de pistas estéreo 206 puede generar el indicador de modo de IPD 116, los valores de IPD 161, o ambos, como se describe con referencia a la FIG. 4. El estimador de pistas estéreo 206 puede denominarse de forma alternativa "generador de flujo de bits de pistas estéreo". Los valores de IPD 161 pueden proporcionar una estimación de la diferencia de fase, en el dominio de la frecuencia, entre la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232. En un aspecto particular, el flujo de bits de pistas estéreo 162 incluye parámetros adicionales (o alternativos), tales como IID, etc. El flujo de bits de pistas estéreo 162 puede proporcionarse al generador de señales de banda lateral 208 y al codificador de banda lateral 210.
[0086] El generador de señales de banda lateral 208 puede generar una señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 basada en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, la señal derecha en el dominio de la frecuencia (Rfr(b)) 232, el valor de desajuste temporal entre canales 163, los valores de IPD 161, o una combinación de los mismos. En un aspecto particular, la señal de banda lateral en el dominio de la frecuencia 234 se estima en bins/bandas en el dominio de la frecuencia y los valores de IPD 161 corresponden a una pluralidad de bandas. Por ejemplo, un primer valor de IPD de los valores de IPD 161 puede corresponder a una primera banda de frecuencias. El generador de señales de banda lateral 208 puede generar una señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 realizando un desplazamiento de fase en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 en la primera banda de frecuencias basada en el primer valor de IPD. El generador de señales de banda lateral 208 puede generar una señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232 realizando un desplazamiento de fase en la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 en la primera banda de frecuencias basada en el primer valor de IPD. Este proceso puede repetirse para otras bandas/bins de frecuencia.
[0087] La señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 puede corresponder a 01(b)*Lfr(b) y la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232 puede corresponder a c2(b)*Rfr(b), donde Lfr(b) corresponde a la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, Rfr(b) corresponde a la señal derecha en el dominio de la frecuencia (Rfr(b)) 232, y c1(b) y c2(b) son valores complejos que se basan en los valores de IPD 161. En una implementación particular, c1(b) = (cos(-y) -zi sin(-y))/20'5 y c2(b) = (cos(IPD(b)-y) ^sin(IPD(b)-y))/20-5, donde i es el número imaginario que significa la raíz cuadrada de -1 e IPD(b) es uno de los valores de IPD 161 asociados con una subbanda particular(b). En un aspecto particular, el indicador de modo de IPD 116 indica que los valores de IPD 161 tienen una resolución particular (por ejemplo, 0). En este aspecto, la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 corresponde a la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, mientras que la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232 corresponde a la señal derecha en el dominio de la frecuencia (Rfr(b)) 232.
[0088] El generador de señales lateral de banda lateral 208 puede generar la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 basándose en la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232. La señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 puede expresarse como (l(fr)-r(fr))/2, donde l(fr) incluye la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 y r(fr) incluye la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232. La señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 puede proporcionarse al codificador de la banda lateral 210.
[0089] El generador de señales de banda media 212 puede recibir el valor de desajuste temporal entre canales 163 desde el analizador de desajuste temporal entre canales 124, la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 del transformador 202, la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 del transformador 204, el flujo de bits de pistas estéreo 162 del estimador de pistas estéreo 206, o una combinación de los mismos. El generador de señales de banda media 212 puede generar la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232, como se describe con referencia al generador de señales de banda lateral 208. El generador de señales de banda media 212 puede generar una señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 basada en la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232. La señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 puede expresarse como (l(t)+r(t))/2, donde l(t) incluye la señal izquierda en el dominio de la frecuencia ajustada en fase (Lfr(b)) 230 y r(t) incluye la señal derecha en el dominio de la frecuencia ajustada en fase (Rfr(b)) 232. La señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 puede proporcionarse al codificador de banda lateral 210. La señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 también puede proporcionarse al codificador de banda media 214.
[0090] En un aspecto particular, el generador de señales de banda media 212 selecciona un tipo de núcleo de trama 267, un tipo de codificador de trama 269, o ambos, para ser usados para codificar la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236. Por ejemplo, el generador de señales de banda media 212 puede seleccionar un tipo de núcleo de predicción lineal excitada por código algebraico (ACELP), un tipo de núcleo de excitación codificada por transformada (TCX) u otro tipo de núcleo como el tipo de núcleo de trama 267. Para ilustrar, el generador de señales de banda media 212 puede, en respuesta a la determinación de que el clasificador de voz/música 129 indica que la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 corresponde a voz, seleccionar el tipo de núcleo ACELP como el tipo de núcleo de trama 267. De forma alternativa, el generador de señales de banda media 212 puede, en respuesta a la determinación de que el clasificador de voz/música 129 indica que la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 corresponde a no voz (por ejemplo, música), seleccionar el tipo de núcleo TCX como el tipo de núcleo de trama 267.
[0091] El analizador de LB 157 está configurado para determinar los parámetros de LB 159 de la FIG. 1. Los parámetros de LB 159 corresponden a la señal izquierda en el dominio del tiempo (Lt) 290, la señal derecha en el dominio del tiempo (Rt) 292, o ambas. En un ejemplo particular, los parámetros de LB 159 incluyen una frecuencia de muestreo central. En un aspecto particular, el analizador de LB 157 está configurado para determinar la frecuencia de muestreo del núcleo basándose en el tipo de núcleo de trama 267. Por ejemplo, el analizador de LB 157 está configurado para seleccionar una primera frecuencia de muestreo (por ejemplo, 12,8 kHz) como frecuencia de muestreo del núcleo en respuesta a la determinación de que el tipo de núcleo de trama 267 corresponde al tipo de núcleo de ACELP. De forma alternativa, el analizador de LB 157 está configurado para seleccionar una segunda frecuencia de muestreo (por ejemplo, 16 kHz) como frecuencia de muestreo del núcleo en respuesta a la determinación de que el tipo de núcleo de trama 267 corresponde a un tipo de núcleo que no es ACELP (por ejemplo, el tipo de núcleo TCX). En un aspecto alternativo, el analizador de LB 157 está configurado para determinar la frecuencia de muestreo del núcleo basándose en un valor predeterminado, una entrada del usuario, un ajuste de configuración o una combinación de los mismos.
[0092] En un aspecto particular, los parámetros de LB 159 incluyen un valor de tono, un parámetro de actividad de voz, un factor de sonorización o una combinación de los mismos. El valor de tono puede ser indicativo de un período de tono diferencial o un período de tono absoluto correspondiente a la señal izquierda en el dominio del tiempo (Lt) 290, la señal derecha en el dominio del tiempo (Rt) 292, o ambas. El parámetro de actividad de voz puede ser indicativo de si se detecta voz en la señal izquierda en el dominio del tiempo (Lt) 290, en la señal derecha en el dominio del tiempo (Rt) 292 o en ambas. El factor de sonoridad (por ejemplo, un valor de 0,0 a 1,0) indica una naturaleza sonora/sorda (por ejemplo, fuerte, débilmente sonora, débilmente sorda o fuertemente sorda) de la señal izquierda en el dominio del tiempo (Lt) 290, la señal derecha en el dominio del tiempo (Rt) 292, o ambas.
[0093] El analizador de BWE 153 está configurado para determinar los parámetros de BWE 155 basándose en la señal izquierda en el dominio del tiempo (Lt) 290, la señal derecha en el dominio del tiempo (Rt) 292, o ambas. Entre los parámetros de BWE 155 se incluye un parámetro de asignación de ganancia, un parámetro de asignación espectral, un indicador de canal de referencia de BWE entre canales o una combinación de los mismos. Por ejemplo, el analizador de BWE 153 está configurado para determinar el parámetro de asignación de ganancia basándose en una comparación de una señal de banda alta y una señal de banda alta sintetizada. En un aspecto particular, la señal de banda alta y la señal de banda alta sintetizada corresponden a la señal izquierda en el dominio del tiempo (Lt) 290. En un aspecto particular, la señal de banda alta y la señal de banda alta sintetizada corresponden a la señal derecha en el dominio del tiempo (Rt) 292. En un ejemplo particular, el analizador 153 de BWE está configurado para determinar el parámetro de asignación espectral basándose en una comparación de la señal de banda alta y la señal de banda alta sintetizada. A modo de ilustración, el analizador 153 de BWE está configurado para generar una señal sintetizada con ajuste de ganancia aplicando el parámetro de ganancia a la señal de banda alta sintetizada, y para generar el parámetro de asignación espectral basado en una comparación de la señal sintetizada con ajuste de ganancia y el señal de banda alta. El parámetro de asignación espectral es indicativo de una inclinación espectral.
[0094] El generador de señales de banda media 212 puede, en respuesta a la determinación de que el clasificador de voz/música 129 indica que la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 corresponde a voz, seleccionar un tipo de codificador de codificación de señal general (GSC) o un tipo de codificador no GSC como el tipo de codificador de trama 269. Por ejemplo, el generador de señales de banda media 212 puede seleccionar el tipo de codificador no GSC (por ejemplo, transformada de coseno discreta modificada (MDCT)) en respuesta a determinar que la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 corresponde a una alta dispersión espectral (por ejemplo, más alta que un umbral de dispersión). De forma alternativa, el generador de señales de banda media 212 puede seleccionar el tipo de codificador GSC en respuesta a la determinación de que la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 corresponde a un espectro no disperso (por ejemplo, inferior al umbral de dispersión).
[0095] El generador de señales de banda media 212 puede proporcionar la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 al codificador de banda media 214 para la codificación basada en el tipo de núcleo de trama 267, el tipo de codificador de trama 269 o ambos. El tipo de núcleo de trama 267, el tipo de codificador de trama 269, o ambos, pueden estar asociados con una primera trama de la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 que va a ser codificada por el codificador de banda media 214. El tipo de núcleo de trama 267 puede almacenarse en una memoria como un tipo de núcleo de trama anterior 268. El codificador de trama tipo 269 puede almacenarse en la memoria como un codificador de trama anterior tipo 270. El estimador de pistas estéreo 206 puede utilizar el tipo de núcleo de trama anterior 268, el tipo de codificador de trama anterior 270, o ambos para determinar el flujo de bits de pistas estéreo 162 con respecto a una segunda trama de la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236, como se describe con referencia a la FIG. 4. Debe entenderse que la agrupación de varios componentes en los dibujos es para facilitar la ilustración y no es limitativa. Por ejemplo, el clasificador de voz/música 129 puede incluirse en cualquier componente a lo largo de la ruta de generación de señal media. Para ilustrar, el clasificador de voz/música 129 puede incluirse en el generador 212 de señales de banda media. El generador 212 de señales de banda media puede generar un parámetro de decisión de voz/música. El parámetro de decisión de voz/música puede almacenarse en la memoria como el parámetro de decisión de voz/música 171 de la FIG. 1. El estimador de pistas estéreo 206 está configurado para utilizar el parámetro de decisión de voz/música 171, los parámetros de LB 159, los parámetros de BWE 155, o una combinación de los mismos, para determinar el flujo de bits de pistas estéreo 162 con respecto a la segunda trama de la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236, como se describe con referencia a la FIG.
4.
[0096] El codificador de banda lateral 210 puede generar el flujo de bits de banda lateral 164 basándose en el flujo de bits de pistas estéreo 162, la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 y la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236. El codificador de banda media 214 puede generar el flujo de bits de banda media 166 codificando la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236. En ejemplos particulares, el codificador de banda lateral 210 y el codificador de banda media 214 pueden incluir codificadores ACELP, codificadores TCX, o ambos, para generar el flujo de bits de banda lateral 164 y el flujo de bits de banda media 166, respectivamente. Para bandas inferiores, la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 334 puede codificarse utilizando una técnica de codificación en el dominio de transformada. Para bandas más altas, la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 puede expresarse como una predicción de la señal de banda media de la trama anterior (cuantificada o no cuantificada).
[0097] El codificador de banda media 214 puede transformar la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 en cualquier otra transformada/dominio del tiempo antes de la codificación. Por ejemplo, la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 puede transformarse de nuevo en el dominio del tiempo o transformarse en el dominio de MDCT para la codificación.
[0098] La FIG. 2 ilustra así un ejemplo del codificador 114 en el que el tipo de núcleo y/o el tipo de codificador de una trama codificada previamente se utilizan para determinar un modo de IPD, y así determinar una resolución de los valores de IPD en el flujo de bits de pistas estéreo 162. En un aspecto alternativo, el codificador 114 utiliza tipos de codificador y/o núcleo predichos en lugar de valores de la trama anterior. Por ejemplo, la FIG. 3 representa un ejemplo ilustrativo del codificador 114 en el que el estimador de pistas estéreo 206 puede determinar el flujo de bits de pistas estéreo 162 basándose en un tipo de núcleo predicho 368, un tipo de codificador predicho 370 o ambos.
[0099] El codificador 114 incluye un mezclador descendente 320 acoplado a un preprocesador 318. El preprocesador 318 está acoplado, mediante un multiplexor (MUX) 316, al estimador de pistas estéreo 206. El mezclador descendente 320 puede generar una señal estimada de banda media en el dominio del tiempo (Mt) 396 mezclando descendentemente la señal izquierda en el dominio del tiempo (Lt) 290 y la señal derecha en el dominio del tiempo (Rt) 292 basándose en el valor de desajuste temporal entre canales 163. Por ejemplo, el mezclador descendente 320 puede generar la señal izquierda ajustada en el dominio del tiempo (Lt) 290 ajustando la señal izquierda en el dominio del tiempo (Lt) 290 basándose en el valor de desajuste temporal entre canales 163, como se describe con referencia a la FIG. 2. El mezclador descendente 320 puede generar la señal estimada de banda media en el dominio del tiempo (Mt) 396 basándose en la señal izquierda ajustada en el dominio del tiempo (Lt) 290 y la señal derecha en el dominio del tiempo (Rt) 292. La señal estimada de banda media en el dominio del tiempo (Mt) 396 puede expresarse como (l(t)+r(t))/2, donde l(t) incluye la señal izquierda ajustada en el dominio del tiempo (Lt) 290 y r(t) incluye la señal derecha en el dominio del tiempo (Rt) 292. Como otro ejemplo, el mezclador descendente 320 puede generar la señal derecha ajustada en el dominio del tiempo (Rt) 292 ajustando la señal derecha en el dominio del tiempo (Rt) 292 basándose en el valor de desajuste temporal entre canales 163, como se describe con referencia a la FIG. 2. El mezclador descendente 320 puede generar la señal estimada de banda media en el dominio del tiempo (Mt) 396 basándose en la señal izquierda en el dominio del tiempo (Lt) 290 y la señal derecha ajustada en el dominio del tiempo (Rt) 292. La señal estimada de banda media en el dominio del tiempo (Mt) 396 puede expresarse como (l(t) r(t))/2, donde l(t) incluye la señal izquierda en el dominio del tiempo (Lt) 290 y r(t) incluye la señal derecha ajustada en el dominio del tiempo (Rt) 292.
[0100] De forma alternativa, el mezclador descendente 320 puede funcionar en el dominio de la frecuencia en lugar de en el dominio del tiempo. Para ilustrar, el mezclador descendente 320 puede generar una señal de banda media en el dominio de la frecuencia estimada Mfr(b) 336 mezclando de forma descendente la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 231 basándose en el valor de desajuste temporal entre canales 163. Por ejemplo, el mezclador descendente 320 puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 basándose en el valor de desajuste temporal entre canales 163, como se describe con la referencia a la FIG.
2. El mezclador descendente 320 puede generar la señal de banda media en el dominio de la frecuencia estimada Mfr(b) 336 basándose en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232. La señal estimada de banda media en el dominio de la frecuencia Mfr(b) 336 puede expresarse como (l(t)+r(t))/2, donde l(t) incluye la señal izquierda en el dominio de la frecuencia (Lfr(b))230 y r(t) incluye la señal derecha en el dominio de la frecuencia (Rfr(b))232.
[0101] El mezclador descendente 320 puede proporcionar la señal estimada de banda media en el dominio del tiempo (Mt) 396 (o la señal estimada de la banda media en el dominio de la frecuencia Mfr(b) 336) al preprocesador 318. El preprocesador 318 puede determinar un tipo 368 de núcleo predicho, un tipo 370 de codificador predicho, o ambos, basándose en una señal de banda media, como se describe con referencia al generador 212 de señal de banda media. Por ejemplo, el preprocesador 318 puede determinar el tipo de núcleo predicho 368, el tipo de codificador predicho 370, o ambos, basándose en una clasificación de voz/música de la señal de banda media, una dispersión espectral de la señal de banda media, o ambos. En un aspecto particular, el preprocesador 318 determina un parámetro de decisión de voz/música predicho basado en una clasificación de voz/música de la señal de banda media y determina el tipo de núcleo predicho 368, el tipo de codificador predicho 370, o ambos, basándose en el parámetro de decisión de voz/música predicho, una dispersión espectral de la señal de banda media, o ambos. La señal de banda media puede incluir la señal de banda media estimada en el dominio del tiempo (Mt) 396 (o la señal estimada de banda media en el dominio de la frecuencia Mfr(b) 336).
[0102] El preprocesador 318 puede proporcionar el tipo de núcleo predicho 368, el tipo de codificador predicho 370, el parámetro de decisión de voz/música predicha, o una combinación de los mismos, al MUX 316. El MUX 316 puede seleccionar entre enviar, al estimador de pistas estéreo 206, información de codificación predicha (por ejemplo, el tipo de núcleo predicho 368, el tipo de codificador predicho 370, el parámetro de decisión de voz/música predicha, o una combinación de los mismos) o información de codificación previa (por ejemplo, el tipo de núcleo de trama anterior 268, el tipo de codificador de trama anterior 270, un parámetro de decisión de voz/música de la trama anterior, o una combinación de los mismos) asociada con una trama codificada previamente de la señal de banda media en el dominio de la frecuencia Mfr(b) 236. Por ejemplo, el MUX 316 puede seleccionar entre la información de codificación predicha o la información de codificación anterior basándose en un valor predeterminado, un valor correspondiente a una entrada de usuario o ambos.
[0103] Proporcionar la información de codificación previa (por ejemplo, el tipo de núcleo de trama anterior 268, el tipo de codificador de trama anterior 270, el parámetro de decisión de voz/música de trama anterior, o una combinación de los mismos) al estimador de pistas estéreo 206, como se describe con referencia a la FIG. 2, puede conservar recursos (por ejemplo, tiempo, ciclos de procesamiento o ambos) que se usarían para determinar la información de codificación predicha (por ejemplo, el tipo de núcleo predicho 368, el tipo de codificador predicho 370, el parámetro de decisión de voz/música predicha, o una combinación de los mismos). Por el contrario, cuando hay una gran variación de trama a trama en las características de la primera señal de audio 130 y/o la segunda señal de audio 132, la información de codificación predicha (por ejemplo, el tipo de núcleo predicho 368, el tipo de codificador predicho 370, el parámetro predicho de decisión de voz/música, o una combinación de los mismos) puede corresponder con mayor precisión con el tipo de núcleo, el tipo de codificador, el parámetro de decisión de voz/música, o una combinación de los mismos, seleccionados por el generador 212 de señal de banda media. Por tanto, conmutar dinámicamente entre la salida de la información de codificación previa o la información de codificación predicha al estimador de pistas estéreo 206 (por ejemplo, basándose en una entrada al MUX 316) puede permitir equilibrar el uso de recursos y la precisión.
[0104] Con referencia a la FIG. 4, se muestra un ejemplo ilustrativo del estimador de pistas estéreo 206. El estimador de pistas estéreo 206 puede acoplarse al analizador de desajuste temporal entre canales 124, que puede determinar una señal de correlación 145 basada en una comparación de una primera trama de una señal izquierda (L) 490 y una pluralidad de tramas de una señal derecha (R) 492. En un aspecto particular, la señal izquierda (L) 490 corresponde a la señal izquierda en el dominio del tiempo (Lt) 290, mientras que la señal derecha (R) 492 corresponde a la señal derecha en el dominio del tiempo (Rt) 292. En un aspecto alternativo, la señal izquierda (L) 490 corresponde a la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229, mientras que la señal derecha (R) 492 corresponde a la señal derecha en el dominio de la frecuencia (Rfr(b)) 231.
[0105] Cada una de la pluralidad de tramas de la señal derecha (R) 492 puede corresponder a un valor de desajuste temporal entre canales particular. Por ejemplo, una primera trama de la señal derecha (R) 492 puede corresponder al valor de desajuste temporal entre canales 163. La señal de correlación 145 puede indicar una correlación entre la primera trama de la señal izquierda (L) 490 y cada una de la pluralidad de tramas de la señal derecha (R) 492.
[0106] De forma alternativa, el analizador de desajuste temporal entre canales 124 puede determinar la señal de correlación 145 basándose en una comparación de una primera trama de la señal derecha (R) 492 y una pluralidad de tramas de la señal izquierda (L) 490. En este aspecto, cada una de la pluralidad de tramas de la señal izquierda (L) 490 corresponde a un valor de desajuste temporal entre canales particular. Por ejemplo, una primera trama de la señal izquierda (L) 490 puede corresponder al valor de desajuste temporal entre canales 163. La señal de correlación 145 puede indicar una correlación entre la primera trama de la señal derecha (R) 492 y cada una de la pluralidad de tramas de la señal izquierda (L) 490.
[0107] El analizador de desajuste temporal entre canales 124 puede seleccionar el valor de desajuste temporal entre canales 163 basándose en la determinación de que la señal de correlación 145 indica una correlación más alta entre la primera trama de la señal izquierda (L) 490 y la primera trama de la señal derecha (R) 492. Por ejemplo, el analizador de desajuste temporal entre canales 124 puede seleccionar el valor de desajuste temporal entre canales 163 en respuesta a la determinación de que un pico de la señal de correlación 145 corresponde a la primera trama de la señal derecha (R) 492. El analizador de desajuste temporal entre canales 124 puede determinar un valor de intensidad 150 que indica un nivel de correlación entre la primera trama de la señal izquierda (L) 490 y la primera trama de la señal derecha (R) 492. Por ejemplo, el valor de intensidad 150 puede corresponder a una altura del pico de la señal de correlación 145. El valor de desajuste temporal entre canales 163 puede corresponder al valor de ICA 262 cuando la señal izquierda (L) 490 y la señal derecha (R) 492 son señales en el dominio del tiempo, como la señal izquierda en el dominio del tiempo (Lt) 290 y la señal derecha en el dominio del tiempo (Rt) 292, respectivamente. De forma alternativa, el valor de desajuste temporal entre canales 163 puede corresponder al valor de ITM 264 cuando la señal izquierda (L) 490 y la señal derecha (R) 492 son señales en el dominio de la frecuencia, como la señal izquierda en el dominio de la frecuencia (Lfr) 229 y la señal derecha en el dominio de la frecuencia (Rfr) 231, respectivamente. El analizador de desajuste temporal entre canales 124 puede generar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230 y la señal derecha en el dominio de la frecuencia (Rfr(b)) 232 basándose en la señal izquierda (L)490, la señal derecha (R)492, y el valor de desajuste temporal entre canales 163, como se describe con referencia a la FIG. 2. El analizador de desajuste temporal entre canales 124 puede proporcionar la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, la señal derecha en el dominio de la frecuencia (Rfr(b)) 232, el valor de desajuste temporal entre canales 163, el valor de intensidad 150, o una combinación de los mismos, al estimador de pistas estéreo 206.
[0108] El clasificador de voz/música 129 puede generar el parámetro de decisión de voz/música 171 basándose en la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) usando varias técnicas de clasificación de voz/música. Por ejemplo, el clasificador de voz/música 129 puede determinar coeficientes de predicción lineal (LPC) asociados con la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232). El clasificador de voz/música 129 puede generar una señal residual mediante el filtrado inverso de la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) utilizando las LPC y puede clasificar la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) como voz o música basándose en la determinación de si la energía residual de la señal residual satisface un umbral. El parámetro de decisión de voz/música 171 puede indicar si la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) se clasifica como voz o música. En un aspecto particular, el estimador de pistas estéreo 206 recibe el parámetro de decisión de voz/música 171 desde el generador de señales de banda media 212, como se describe con referencia a la FIG. 2, donde el parámetro de decisión de voz/música 171 corresponde a un parámetro de decisión de voz/música de trama anterior. En otro aspecto, el estimador de pistas estéreo 206 recibe el parámetro de decisión de voz/música 171 del MUX 316, como se describe con referencia a la FIG. 3, donde el parámetro de decisión de voz/música 171 corresponde al parámetro de decisión de voz/música de la trama anterior o un parámetro de decisión de voz/música predicho.
[0109] El analizador de LB 157 está configurado para determinar los parámetros de LB 159. Por ejemplo, el analizador de LB 157 está configurado para determinar una frecuencia de muestreo central, un valor de tono, un parámetro de actividad de voz, un factor de sonoridad o una combinación de los mismos, como se describe con referencia a la FIG. 2. El analizador de BWE 153 está configurado para determinar los parámetros de BWE 155, como se describe con referencia a la FIG. 2.
[0110] El selector de modo de IPD 108 puede seleccionar el modo de IPD 156 de una pluralidad de modos de IPD basándose en el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169, el parámetro de decisión de voz/música 171, los parámetros de LB 159, los parámetros de BWE 155, o una combinación de los mismos. El tipo de núcleo 167 puede corresponder al anterior tipo de núcleo de trama 268 de la FIG. 2 o el tipo de núcleo predicho 368 de la FIG. 3. El tipo de codificador 169 puede corresponder al tipo de codificador de trama anterior 270 de la FIG. 2 o el tipo de codificador predicho 370 de la FIG. 3. La pluralidad de modos de IPD puede incluir un primer modo de IPD 465 correspondiente a una primera resolución 456, un segundo modo de IPD 467 correspondiente a una segunda resolución 476, uno o más modos de IPD adicionales o una combinación de los mismos. La primera resolución 456 puede ser mayor que la segunda resolución 476. Por ejemplo, la primera resolución 456 puede corresponder a un número mayor de bits que un segundo número de bits correspondiente a la segunda resolución 476.
[0111] A continuación se describen algunos ejemplos ilustrativos no limitativos de selecciones de modo de IPD. Debe entenderse que el selector de modo de IPD 108 puede seleccionar el modo de IPD 156 basándose en cualquier combinación de factores que incluyen, entre otros, el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169, los parámetros de LB 159, los parámetros de BWE 155, y/o el parámetro de decisión de voz/música 171. En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 cuando el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, los parámetros de LB 159, los parámetros de BWE 155, el tipo de codificador 169, o el parámetro de decisión de voz/música 171 indican que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad del audio.
[0112] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como modo de IPD 156 en respuesta a una determinación de que el valor de desajuste temporal entre canales 163 satisface (por ejemplo, es igual a) un umbral de diferencia (por ejemplo, 0). El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a una determinación de que el valor de desajuste temporal entre canales 163 satisface (por ejemplo, es igual a) un umbral de diferencia (por ejemplo, 0). De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a determinar que el valor de desajuste temporal 163 entre canales no satisface (por ejemplo, no es igual a) el umbral de diferencia (por ejemplo, 0).
[0113] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 en respuesta a una determinación de que el valor de desajuste temporal entre canales 163 no satisface (por ejemplo, no es igual a) el umbral de diferencia (por ejemplo, 0) y que el valor de intensidad 150 satisface (por ejemplo, es mayor que) un umbral de intensidad. El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a la determinación de que el valor de desajuste temporal entre canales 163 no satisface (por ejemplo, no es igual a) el umbral de diferencia (por ejemplo, 0) y que el valor de intensidad 150 satisface (por ejemplo, es mayor que) un umbral de intensidad. De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a una determinación de que el valor de desajuste temporal entre canales 163 no satisface (por ejemplo, no es igual a) el umbral de diferencia (por ejemplo, 0). y que el valor de intensidad 150 no satisface (por ejemplo, es menor o igual que) el umbral de intensidad.
[0114] En un aspecto particular, el selector de modo de IPD 108 determina que el valor de desajuste temporal entre canales 163 satisface el umbral de diferencia en respuesta a la determinación de que el valor de desajuste temporal entre canales 163 es menor que el umbral de diferencia (por ejemplo, un valor de umbral). En este aspecto, el selector de modo de IPD 108 determina que el valor de desajuste temporal entre canales 163 no satisface el umbral de diferencia en respuesta a la determinación de que el valor de desajuste temporal entre canales 163 es mayor o igual que el umbral de diferencia.
[0115] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 en respuesta a la determinación de que el tipo de codificador 169 corresponde a un tipo de codificador no GSC. El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a la determinación de que el tipo de codificador 169 corresponde a un tipo de codificador no GSC. De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a la determinación de que el tipo de codificador 169 corresponde a un tipo de codificador GSC.
[0116] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como modo de IPD 156 en respuesta a determinar que el tipo de núcleo 167 corresponde a un tipo de núcleo TCX o que el tipo 167 corresponde a un tipo de núcleo ACELP y que el tipo de codificador 169 corresponde a un tipo de codificador no GSC. El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a la determinación de que el tipo de núcleo 167 corresponde a un tipo de núcleo TCX o que el tipo de núcleo 167 corresponde a un tipo de núcleo ACELP y que el tipo de codificador 169 corresponde a un tipo de codificador no GSC. De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como modo de IPD 156 en respuesta a determinar que el tipo de núcleo 167 corresponde al tipo de núcleo ACELP y que el tipo de codificador 169 corresponde a un tipo de codificador GSC.
[0117] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 en respuesta a determinar que el parámetro de decisión de voz/música 171 indica que la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) se clasifica como no hablada (por ejemplo, música). El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a la determinación de que el parámetro de decisión de voz/música indica 171 que la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) se clasifica como no hablada (por ejemplo, música). De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a la determinación de que el parámetro de decisión de voz/música 171 indica que la señal izquierda en el dominio de la frecuencia (Lfr) 230 (o la señal derecha en el dominio de la frecuencia (Rfr) 232) se clasifica como voz.
[0118] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 en respuesta a la determinación de que los parámetros de LB 159 incluyen una frecuencia de muestreo central y que la frecuencia de muestreo central corresponde a una primera frecuencia de muestreo central (por ejemplo, 16 kHz). El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a determinar que la frecuencia de muestreo del núcleo corresponde a la frecuencia de muestreo del primer núcleo (por ejemplo, 16 kHz). De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a la determinación de que la frecuencia de muestreo del núcleo corresponde a una segunda frecuencia de muestreo del núcleo (por ejemplo, 12,8 kHz).
[0119] En un aspecto particular, el selector de modo de IPD 108 selecciona el primer modo de IPD 465 como el modo de IPD 156 en respuesta a determinar que entre los parámetros de LB 159 se incluye un parámetro particular y que un valor del parámetro particular satisface un primer umbral. El parámetro particular puede incluir un valor de tono, un parámetro de voz, un factor de voz, un parámetro de asignación de ganancia, un parámetro de asignación espectral o un indicador de canal de referencia BWE entre canales. El selector de modo de IPD 108 puede determinar que es probable que los valores de IPD 161 tengan un mayor impacto en la calidad de audio en respuesta a la determinación de que el parámetro particular satisface el primer umbral. De forma alternativa, el selector de modo de IPD 108 puede seleccionar el segundo modo de IPD 467 como el modo de IPD 156 en respuesta a la determinación de que el parámetro particular no satisface el primer umbral.
[0120] La Tabla 1 siguiente proporciona una breve explicación de los aspectos ilustrativos descritos anteriormente de la selección del modo de IPD 156. Debe entenderse, sin embargo, que los aspectos descritos no deben considerarse limitativo. En implementaciones alternativas, el mismo conjunto de condiciones que se muestra en una fila de la Tabla 1 puede llevar al selector de modo de IPD 108 a seleccionar un modo de IPD diferente al que se muestra en la Tabla 1. Además, en implementaciones alternativas, se pueden considerar más, menos y/o diferentes factores. Además, las tablas de decisión pueden incluir más o menos filas en implementaciones alternativas.
Tabla 1
Figure imgf000021_0001
[0121] El selector de modo de IPD 108 puede proporcionar el indicador de modo de IPD 116 que indica el modo de IPD seleccionado 156 (por ejemplo, el primer modo de IPD 465 o el segundo modo de IPD 467) al estimador de IPD 122. En un aspecto particular, la segunda resolución 476 asociada con el segundo modo de IPD 467 tiene un valor particular (por ejemplo, 0) que indica que los valores de IPD 161 se deben establecer en un valor particular (por ejemplo, 0), que cada uno de los valores de IPD 161 deben establecerse en un valor particular (por ejemplo, cero), o que los valores de IPD 161 deben estar ausentes del flujo de bits de pistas estéreo 162. La primera resolución 456 asociada con el primer modo de IPD 465 puede tener otro valor (por ejemplo, mayor que 0) que sea distinto del valor particular (por ejemplo, 0). En este aspecto, el estimador de IPD 122, en respuesta a determinar que el modo de IPD seleccionado 156 corresponde al segundo modo de IPD 467, establece los valores de IPD 161 en el valor particular (por ejemplo, cero), establece cada uno de los valores de IPD 161 en el valor particular (por ejemplo, cero), o se abstiene de incluir los valores de IPD 161 en el flujo de bits de pistas estéreo 162. De forma alternativa, el estimador de IPD 122 puede determinar los primeros valores de IPD 461 en respuesta a la determinación de que el modo de IPD 156 seleccionado corresponde al primer modo de IPD 465, como se describe en el presente documento.
[0122] El estimador de IPD 122 puede determinar los primeros valores de IPD 461 basándose en la señal izquierda en el dominio de la frecuencia (Lfr(b)) 230, la señal derecha en el dominio de la frecuencia (Rfr(b)) 232, el valor de desajuste temporal entre canales 163, o un combinación de los mismos. El estimador de IPD 122 puede generar una primera señal alineada y una segunda señal alineada ajustando al menos una de la señal izquierda (L) 490 o la señal derecha (R) 492 basándose en el valor de desajuste temporal entre canales 163. La primera señal alineada puede alinearse temporalmente con la segunda señal alineada. Por ejemplo, una primera trama de la primera señal alineada puede corresponder a la primera trama de la señal izquierda (L) 490 y una primera trama de la segunda señal alineada puede corresponder a la primera trama de la señal derecha (R) 492. La primera trama de la primera señal alineada puede alinearse con la primera trama de la segunda señal alineada.
[0123] El estimador de IPD 122 puede determinar, basándose en el valor de desajuste temporal entre canales 163, que una de la señal izquierda (L) 490 o la señal derecha (R) 492 corresponde a un canal temporalmente retardado. Por ejemplo, el estimador de IPD 122 puede determinar que la señal izquierda (L) 490 corresponde al canal temporalmente retardado en respuesta a determinar que el valor de desajuste temporal entre canales 163 no satisface (por ejemplo, es menor que) un umbral particular (por ejemplo, 0). El estimador de IPD 122 puede ajustar de forma no causal el canal temporalmente retardado. Por ejemplo, el estimador de IPD 122 puede generar una señal ajustada ajustando no causalmente la señal izquierda (L) 490 basándose en el valor de desajuste temporal 163 entre canales en respuesta a la determinación de que la señal izquierda (L) 490 corresponde al canal temporalmente retardado. La primera señal alineada puede corresponder a la señal ajustada, y la segunda señal alineada puede corresponder a la señal derecha (R) 492 (por ejemplo, señal no ajustada).
[0124] En un aspecto particular, el estimador de IPD 122 genera la primera señal alineada (por ejemplo, una primera señal en el dominio de la frecuencia rotada en fase) y la segunda señal alineada (por ejemplo, una señal en el dominio de la frecuencia rotada de segunda fase) realizando una operación de rotación de fase en el dominio de la frecuencia. Por ejemplo, el estimador de IPD 122 puede generar la primera señal alineada realizando una primera transformada en la señal izquierda (L) 490 (o la señal ajustada). En un aspecto particular, el estimador de IPD 122 genera la segunda señal alineada realizando una segunda transformada en la señal derecha (R) 492. En un aspecto alternativo, el estimador de IPD 122 designa la señal derecha (R) 492 como la segunda señal alineada.
[0125] El estimador de IPD 122 puede determinar los primeros valores de IPD 461 basándose en la primera trama de la señal izquierda (L) 490 (o la primera señal alineada) y la primera trama de la señal derecha (R) 492 (o la segunda señal alineada). El estimador de IPD 122 puede determinar una señal de correlación asociada con cada una de una pluralidad de subbandas de frecuencia. Por ejemplo, una primera señal de correlación puede basarse en una primera subbanda de la primera trama de la señal izquierda (L) 490 y una pluralidad de desplazamientos de fase aplicados a la primera subbanda de la primera trama de la señal derecha (R) 492. Cada uno de la pluralidad de desplazamientos de fase puede corresponder a un valor de IPD particular. El estimador de IPD 122 puede determinar que la primera señal de correlación indica que la primera subbanda de la señal izquierda (L) 490 tiene una correlación más alta con la primera subbanda de la primera trama de la señal derecha (R) 492 cuando se aplica un desplazamiento de fase particular. a la primera subbanda de la primera trama de la señal derecha (R) 492. El desplazamiento de fase particular puede corresponder a un primer valor de IPD. El estimador de IPD 122 puede sumar el primer valor de IPD asociado con la primera subbanda a los primeros valores de IPD 461. De manera similar, el estimador de IPD 122 puede agregar uno o más valores de IPD adicionales correspondientes a una o más subbandas adicionales a los primeros valores de IPD 461. En un aspecto particular, cada una de las subbandas asociadas con los primeros valores de IPD 461 es distinta. En un aspecto alternativo, algunas subbandas asociadas con los primeros valores de IPD 461 se superponen. Los primeros valores de IPD 461 pueden asociarse con una primera resolución 456 (por ejemplo, una resolución más alta disponible). Las subbandas de frecuencia consideradas por el estimador de IPD 122 pueden ser del mismo tamaño o pueden ser de tamaños diferentes.
[0126] En un aspecto particular, el estimador de IPD 122 genera los valores de IPD 161 ajustando los primeros valores de IPD 461 para tener la resolución 165 correspondiente al modo de IPD 156. En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es mayor o igual que la primera resolución 456, determina que los valores de IPD 161 son los mismos que los primeros valores de IPD 461. Por ejemplo, el estimador de IPD 122 puede abstenerse de ajustar los primeros valores de IPD 461. Por tanto, cuando el modo de IPD 156 corresponde a una resolución (por ejemplo, una resolución alta) que es suficiente para representar los primeros valores de IPD 461, los primeros valores de IPD 461 pueden transmitirse sin ajuste. De forma alternativa, el estimador de IPD 122 puede, en respuesta a la determinación de que la resolución 165 es menor que la primera resolución 456, generar los valores de IPD 161 y reducir la resolución de los primeros valores de IPD 461. Por tanto, cuando el modo de IPD 156 corresponde a una resolución (por ejemplo, una resolución baja) que es insuficiente para representar los primeros valores de IPD 461, los primeros valores de IPD 461 pueden ajustarse para generar los valores de IPD 161 antes de la transmisión.
[0127] En un aspecto particular, la resolución 165 indica un número de bits que se utilizarán para representar valores de IPD absolutos, como se describe con referencia a la FIG. 1. Los valores de IPD 161 pueden incluir uno o más valores absolutos de los primeros valores de IPD 461. Por ejemplo, el estimador de IPD 122 puede determinar un primer valor de los valores de IPD 161 basándose en un valor absoluto de un primer valor de los primeros valores de IPD 461. El primer valor de los valores de IPD 161 puede asociarse con la misma banda de frecuencias que el primer valor de los primeros valores de IPD 461.
[0128] En un aspecto particular, la resolución 165 indica un número de bits que se utilizarán para representar una cantidad de variación temporal de los valores de IPD a través de tramas, como se describe con referencia a la FIG. 1. El estimador de IPD 122 puede determinar los valores de IPD 161 basándose en una comparación de los primeros valores de IPD 461 y los segundos valores de IPD. Los primeros valores de IPD 461 pueden estar asociados con una trama de audio particular, y los segundos valores de IPD pueden estar asociados con otra trama de audio. Los valores de IPD 161 pueden indicar la cantidad de variación temporal entre los primeros valores de IPD 461 y los segundos valores de IPD.
[0129] A continuación se describen algunos ejemplos ilustrativos no limitativos de reducción de la resolución de los valores de IPD. Debe entenderse que se pueden usar varias otras técnicas para reducir la resolución de los valores de IPD.
[0130] En un aspecto particular, el estimador de IPD 122 determina que la resolución objetivo 165 de los valores de IPD es menor que la primera resolución 456 de determinados valores de IPD. Es decir, el estimador de IPD 122 puede determinar que hay menos bits disponibles para representar IPD que el número de bits que están ocupados por IPD que se han determinado. En respuesta, el estimador de IPD 122 puede generar un valor de IPD de grupo promediando los primeros valores de IPD 461 y puede establecer los valores de IPD 161 para indicar el valor de IPD de grupo. Los valores de IPD 161 pueden por tanto indicar un único valor de IPD que tiene una resolución (por ejemplo, 3 bits) que es menor que la primera resolución 456 (por ejemplo, 24 bits) de múltiples valores de IPD (por ejemplo, 8).
[0131] En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es menor que la primera resolución 456, determina los valores de IPD 161 basándose en la cuantificación predictiva. Por ejemplo, el estimador de IPD 122 puede usar un cuantificador de vector para determinar los valores de IPD predichos basándose en los valores de IPD (por ejemplo, los valores de IPD 161) correspondientes a una trama codificada previamente. El estimador de IPD 122 puede determinar los valores de IPD de corrección basándose en una comparación de los valores de IPD predichos y los primeros valores de IPD 461. Los valores de IPD 161 pueden indicar los valores de IPD de corrección. Cada uno de los valores de IPD 161 (correspondiente a un delta) puede tener una resolución más baja que los primeros valores de IPD 461. Por tanto, los valores de IPD 161 pueden tener una resolución más baja que la primera resolución 456.
[0132] En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es menor que la primera resolución 456, usa menos bits para representar algunos de los valores de IPD 161 que otros. Por ejemplo, el estimador de IPD 122 puede reducir una resolución de un subconjunto de los primeros valores de IPD 461 para generar un subconjunto correspondiente de los valores de IPD 161. El subconjunto de los primeros valores de IPD 461 que tienen una resolución más baja puede, en un ejemplo particular, corresponder a bandas de frecuencias particulares (por ejemplo, bandas de frecuencias más altas o bandas de frecuencias más bajas).
[0133] En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es menor que la primera resolución 456, usa menos bits para representar algunos de los valores de IPD 161 que otros. Por ejemplo, el estimador de IPD 122 puede reducir una resolución de un subconjunto de los primeros valores de IPD 461 para generar un subconjunto correspondiente de los valores de IPD 161. El subconjunto de los primeros valores de IPD 461 puede corresponder a bandas de frecuencias particulares (por ejemplo, bandas de frecuencias más altas).
[0134] En un aspecto particular, la resolución 165 corresponde a un recuento de los valores de IPD 161. El estimador de IPD 122 puede seleccionar un subconjunto de los primeros valores de IPD 461 basándose en el recuento. Por ejemplo, un tamaño del subconjunto puede ser menor o igual que el recuento. En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que un número de valores de IPD incluidos en los primeros valores de IPD 461 es mayor que el recuento, selecciona valores de IPD correspondientes a bandas de frecuencias particulares (por ejemplo, bandas de frecuencias más altas) de la primeros valores de IDP 461. Los valores de IPD 161 pueden incluir el subconjunto seleccionado de los primeros valores de IPD 461.
[0135] En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es menor que la primera resolución 456, determina los valores de IPD 161 basándose en coeficientes polinomiales. Por ejemplo, el estimador de IPD 122 puede determinar un polinomio (por ejemplo, un polinomio de mejor ajuste) que se aproxima a los primeros valores de IPD 461. El estimador de IPD 122 puede cuantificar los coeficientes polinomiales para generar los valores de IPD 161. Por tanto, los valores de IPD 161 pueden tener una resolución más baja que la primera resolución 456.
[0136] En un aspecto particular, el estimador de IPD 122, en respuesta a determinar que la resolución 165 es menor que la primera resolución 456, genera los valores de IPD 161 para incluir un subconjunto de los primeros valores de IPD 461. El subconjunto de los primeros valores de IPD 461 puede corresponder a bandas de frecuencias particulares (por ejemplo, bandas de frecuencias de alta prioridad). El estimador de IPD 122 puede generar uno o más valores de IPD adicionales reduciendo la resolución de un segundo subconjunto de los primeros valores de IPD 461. Los valores de IPD 161 pueden incluir los valores de IPD adicionales. El segundo subconjunto de los primeros valores de IPD 461 puede corresponder a segundas bandas de frecuencias particulares (por ejemplo, bandas de frecuencias de prioridad media). Un tercer subconjunto de los primeros valores de IPD 461 puede corresponder a terceras bandas de frecuencias particulares (por ejemplo, bandas de frecuencias de baja prioridad). Los valores de IPD 161 pueden excluir los valores de IPD correspondientes a las terceras bandas de frecuencias particulares. En un aspecto particular, las bandas de frecuencias que tienen un mayor impacto en la calidad del audio, como las bandas de frecuencias más bajas, tienen mayor prioridad. En algunos ejemplos, qué bandas de frecuencias tienen mayor prioridad puede depender del tipo de contenido de audio incluido en la trama (por ejemplo, basado en el parámetro de decisión de voz/música) 171. Para ilustrar, las bandas de frecuencias más bajas pueden tener prioridad para las tramas de voz pero pueden no tener tanta prioridad para las tramas de música, porque los datos de voz pueden estar ubicados predominantemente en rangos de frecuencia más bajos, pero los datos de música pueden estar más dispersos en los rangos de frecuencias.
[0137] El estimador de pistas estéreo 206 puede generar el flujo de bits de pistas estéreo 162 que indica el valor de desajuste temporal entre canales 163, los valores de IPD 161, el indicador de modo de IPD 116 o una combinación de los mismos. Los valores de IPD 161 pueden tener una resolución particular que sea mayor o igual que la primera resolución 456. La resolución particular (por ejemplo, 3 bits) puede corresponder a la resolución 165 (por ejemplo, baja resolución) de la FIG. 1 asociada con el modo de IPD 156.
[0138] El estimador de IPD 122 puede así ajustar dinámicamente una resolución de los valores de IPD 161 basándose en el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169, el parámetro de decisión de voz/música 171 o una combinación de los mismos. Los valores de IPD 161 pueden tener una resolución más alta cuando se predice que los valores de IPD 161 tendrán un mayor impacto en la calidad de audio, y pueden tener una resolución más baja cuando se predice que los valores de IPD 161 tendrán menos impacto en la calidad de audio.
[0139] Con referencia a la FIG. 5, se muestra un procedimiento de funcionamiento y se designa en general como 500. El procedimiento 500 se puede realizar mediante el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1 o una combinación de los mismos.
[0140] El procedimiento 500 incluye determinar si un valor de desajuste temporal entre canales es igual a 0 en 502. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede determinar si el valor de desajuste temporal entre canales 163 de la FIG. 1 es igual a 0.
[0141] El procedimiento 500 también incluye, en respuesta a la determinación de que el desajuste temporal entre canales no es igual a 0, determinar si un valor de intensidad es menor que un umbral de intensidad, en 504. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el valor de desajuste temporal entre canales 163 de la FIG. 1 no es igual a 0, determine si el valor de intensidad 150 de la FIG. 1 es menor que un umbral de intensidad.
[0142] El procedimiento 500 incluye además, en respuesta a la determinación de que el valor de la intensidad es mayor o igual que el umbral de la intensidad, seleccionar "resolución cero" en 506. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a determinar que el valor de intensidad 150 de la FIG. 1 es mayor o igual que el umbral de intensidad, seleccionar un primer modo de IPD como el modo de IPD 156 de la FIG. 1, donde el primer modo de IPD corresponde al uso de cero bits del flujo de bits de pistas estéreo 162 para representar valores de IPD.
[0143] En un aspecto particular, el selector de modo de IPD 108 de la FIG. 1 selecciona el primer modo de IPD como el modo de IPD 156 en respuesta a la determinación de que el parámetro de decisión de voz/música 171 tiene un valor particular (por ejemplo, 1). Por ejemplo, el selector de modo de IPD 108 selecciona el modo de IPD 156 basándose en el siguiente pseudocódigo:
Figure imgf000024_0001
}
donde "hStereoDft^no_ipd_flag" corresponde al modo de IPD 156, un primer valor (por ejemplo, 1) indica un primer modo de IPD (por ejemplo, un modo de resolución cero o un modo de baja resolución), un segundo valor (por ejemplo, 0) indica un segundo modo de IPD (por ejemplo, un modo de alta resolución), "hStereoDft^gainIPD_sm" corresponde al valor de intensidad 150, y "sp_aud_decision0" corresponde al parámetro de decisión de voz/música 171. El selector de modo de IPD 108 inicializa el modo de IPD 156 a un segundo modo de IPD (por ejemplo, 0) que corresponde a una resolución alta (por ejemplo, "hStereoDft^no_ipd_flag = 0"). El selector de modo de IPD 108 establece el modo de IPD 156 en el primer modo de IPD correspondiente a una resolución cero basada al menos en parte en el parámetro de decisión de voz/música 171 (por ejemplo, "decisión de spaud0"). En un aspecto particular, el selector de modo de IPD 108 está configurado para seleccionar el primer modo de IPD como el modo de IPD 156 en respuesta a determinar que el valor de intensidad 150 satisface (por ejemplo, es mayor o igual a) un umbral (por ejemplo, 0,75 f), el parámetro de decisión de voz/música 171 tiene un valor particular (por ejemplo, 1), el tipo de núcleo 167 tiene un valor particular, el tipo de codificador 169 tiene un valor particular, uno o más parámetros (por ejemplo, frecuencia de muestreo del núcleo, valor de tono, parámetro de actividad de voz, o factor de voz) de los parámetros de LB 159 tienen un valor particular, uno o más parámetros (por ejemplo, un parámetro de asignación de ganancia, un parámetro de asignación espectral o un indicador de canal de referencia entre canales) de los parámetros de BWE 155 tienen un valor particular, o una combinación de los mismos.
[0144] El procedimiento 500 también incluye, en respuesta a la determinación de que el valor de intensidad es menor que el umbral de intensidad, en 504, seleccionar una resolución baja, en 508. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a determinar que el valor de intensidad 150 de la FIG. 1 es menor que el umbral de intensidad, seleccionar un segundo modo de IPD como el modo de IPD 156 de la FIG. 1, donde el segundo modo de IPD corresponde al uso de una resolución baja (por ejemplo, 3 bits) para representar los valores de IPD en el flujo de bits de pistas estéreo 162. En un aspecto particular, el selector de modo de IPD 108 está configurado para seleccionar el segundo modo de IPD como el modo de IPD 156 en respuesta a determinar que el valor de intensidad 150 es menor que el umbral de intensidad, el parámetro de decisión de voz/música 171 tiene un valor particular (por ejemplo, 1), uno o más de los parámetros de LB 159 tienen un valor particular, uno o más de los parámetros de BWE 155 tienen un valor particular, o una combinación de los mismos.
[0145] El procedimiento 500 incluye además, en respuesta a la determinación de que el desajuste temporal entre canales es igual a 0, en 502, determinar si un tipo de núcleo corresponde a un tipo de núcleo ACELP, en 510. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el valor de desajuste temporal entre canales 163 de la FIG. 1 es igual a 0, determinar si el tipo de núcleo 167 de la FIG. 1 corresponde a un tipo de núcleo ACELP.
[0146] El procedimiento 500 también incluye, en respuesta a la determinación de que el tipo de núcleo no corresponde a un tipo de núcleo ACELP, en 510, seleccionar una resolución alta, en 512. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el tipo de núcleo 167 de la FIG.
1 no corresponde a un tipo de núcleo ACELP, seleccionar un tercer modo de IPD como el modo de IPD 156 de la FIG. 1. El tercer modo de IPD puede estar asociado con una alta resolución (por ejemplo, 16 bits).
[0147] El procedimiento 500 incluye además, en respuesta a la determinación de que el tipo de núcleo corresponde a un tipo de núcleo ACELP, en 510, determinar si un tipo de codificador corresponde a un tipo de codificador GSC, en 514. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el tipo de núcleo 167 de la FIG. 1 corresponde a un tipo de núcleo ACELP, determinar si el tipo de codificador 169 de la FIG. 1 corresponde a un tipo de codificador GSC.
[0148] El procedimiento 500 incluye además, en respuesta a la determinación de que el tipo de codificador corresponde a un tipo de codificador de GSC, en 514, proceder a 508. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el codificador tipo 169 de la FIG. 1 corresponde a un tipo de codificador GSC, seleccionar el segundo modo de IPD como el modo de IPD 156 de la FIG. 1.
[0149] El procedimiento 500 incluye además, en respuesta a la determinación de que el tipo de codificador no corresponde a un tipo de codificador GSC, en 514, proceder a 512. Por ejemplo, el selector de modo de IPD 108 de la FIG. 1 puede, en respuesta a la determinación de que el codificador tipo 169 de la FIG. 1 no corresponde a un tipo de codificador GSC, seleccionar el tercer modo de IPD como el modo de IPD 156 de la FIG. 1.
[0150] El procedimiento 500 corresponde a un ejemplo ilustrativo de determinación del modo de IPD 156. Debe entenderse que la secuencia de operaciones ilustrada en el procedimiento 500 es para facilitar la ilustración. En algunas implementaciones, el modo de IPD 156 puede seleccionarse basándose en una secuencia diferente de operaciones que incluye más, menos y/o operaciones diferentes que las mostradas en la FIG. 5. El modo de IPD 156 puede seleccionarse basándose en cualquier combinación del valor de desajuste temporal entre canales 163, el valor de intensidad 150, el tipo de núcleo 167, el tipo de codificador 169 o el parámetro de decisión de voz/música 171.
[0151] Con referencia a la FIG. 6, se muestra un procedimiento de funcionamiento y se designa en general como 600. El procedimiento 600 puede ser realizado por el estimador de IPD 122, el selector de modo de IPD 108, el analizador de desajuste temporal entre canales 124, el codificador 114, el transmisor 110, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206, el codificador de banda lateral 210, el codificador de banda media 214 de la FIG. 2, o una combinación de los mismos.
[0152] El procedimiento 600 incluye determinar, en un dispositivo, un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio en relación con una segunda señal de audio, en 602. Por ejemplo, el analizador de desajuste temporal entre canales 124 puede determinar el valor de desajuste temporal entre canales 163, como se describe con referencia a las FIGS. 1 y 4. El valor de desajuste temporal entre canales 163 puede ser indicativo de una desalineación temporal (por ejemplo, un retardo temporal) entre la primera señal de audio 130 y la segunda señal de audio 132.
[0153] El procedimiento 600 también incluye seleccionar, en el dispositivo, un modo de IPD basado en al menos el valor de desajuste temporal entre canales, en 604. Por ejemplo, el selector de modo de IPD 108 puede determinar el modo de IPD 156 basándose en al menos el valor de desajuste temporal entre canales 163, como se describe con referencia a las FIGS. 1 y 4.
[0154] El procedimiento 600 incluye además determinar, en el dispositivo, valores de IPD basados en la primera señal de audio y la segunda señal de audio, en 606. Por ejemplo, el estimador de IPD 122 puede determinar los valores de IPD 161 basándose en la primera señal de audio 130 y la segunda señal de audio 132, como se describe con referencia a las FIGS. 1 y 4. Los valores de IPD 161 pueden tener la resolución 165 correspondiente al modo de IPD 156 seleccionado.
[0155] El procedimiento 600 también incluye generar, en el dispositivo, una señal de banda media basada en la primera señal de audio y la segunda señal de audio, en 608. Por ejemplo, el generador de señal de banda media 212 puede generar la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236 basándose en la primera señal de audio 130 y la segunda señal de audio 132, como se describe con referencia a la FIG. 2.
[0156] El procedimiento 600 incluye además generar, en el dispositivo, un flujo de bits de banda media basado en la señal de banda media, en 610. Por ejemplo, el codificador de banda media 214 puede generar el flujo de bits de banda media 166 basándose en la señal de banda media en el dominio de la frecuencia (Mfr(b)) 236, como se describe con referencia a la FIG. 2.
[0157] El procedimiento 600 también incluye generar, en el dispositivo, una señal de banda lateral basada en la primera señal de audio y la segunda señal de audio, en 612. Por ejemplo, el generador de señales de banda lateral 208 puede generar la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234 basándose en la primera señal de audio 130 y la segunda señal de audio 132, como se describe con referencia a la FIG. 2.
[0158] El procedimiento 600 incluye además generar, en el dispositivo, un flujo de bits de banda lateral basado en la señal de banda lateral, en 614. Por ejemplo, el codificador de banda lateral 210 puede generar el flujo de bits de banda lateral 164 basándose en la señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 234, como se describe con referencia a la FIG. 2.
[0159] El procedimiento 600 también incluye generar, en el dispositivo, un flujo de bits de pistas estéreo que indican los valores de IPD, en 616. Por ejemplo, el estimador de pistas estéreo 206 puede generar el flujo de bits de pistas estéreo 162 que indica los valores de IPD 161, como se describe con referencia a las FIGS. 2-4.
[0160] El procedimiento 600 incluye además transmitir, desde el dispositivo, el flujo de bits de banda lateral, en 618. Por ejemplo, el transmisor 110 de la FIG. 1 puede transmitir el flujo de bits de banda lateral 164. El transmisor 110 puede transmitir adicionalmente al menos uno del flujo de bits de banda media 166 o el flujo de bits de pistas estéreo 162.
[0161] Por tanto, el procedimiento 600 puede permitir ajustar dinámicamente una resolución de los valores de IPD 161 basándose al menos en parte en el valor de desajuste temporal entre canales 163. Puede usarse un mayor número de bits para codificar los valores de IPD 161 cuando es probable que los valores de IPD 161 tengan un mayor impacto en la calidad del audio.
[0162] Con referencia a la FIG. 7, se muestra un diagrama que ilustra una implementación particular del descodificador 118. Se proporciona una señal de audio codificada a un desmultiplexor (DEMUX) 702 del descodificador 118. La señal de audio codificada puede incluir el flujo de bits de pistas estéreo 162, el flujo de bits de banda lateral 164 y el flujo de bits de banda media 166. El desmultiplexor 702 puede configurarse para extraer el flujo de bits de banda media 166 de la señal de audio codificada y proporcionar el flujo de bits de banda media 166 a un descodificador de banda media 704. El desmultiplexor 702 también puede configurarse para extraer el flujo de bits de banda lateral 164 y el flujo de bits de pistas estéreo 162 de la señal de audio codificada. El flujo de bits de banda lateral 164 y el flujo de bits de pistas estéreo 162 pueden proporcionarse a un descodificador de banda lateral 706.
[0163] El descodificador de banda media 704 puede configurarse para descodificar el flujo de bits de banda media 166 para generar una señal de banda media 750. Si la señal de banda media 750 es una señal en el dominio del tiempo, se puede aplicar una transformada 708 a la señal de banda media 750 para generar una señal de banda media en el dominio de la frecuencia (Mfr(b)) 752. La señal de banda media en el dominio de la frecuencia 752 puede proporcionarse a un mezclador ascendente 710. Sin embargo, si la señal de banda media 750 es una señal en el dominio de la frecuencia, la señal de banda media 750 puede proporcionarse directamente al mezclador ascendente 710 y la transformada 708 puede omitirse o no estar presente en el descodificador 118.
[0164] El descodificador de banda lateral 706 puede generar una señal de banda lateral en el dominio de la frecuencia (Sfr(b)) 754 basándose en el flujo de bits de banda lateral 164 y el flujo de bits de pistas estéreo 162. Por ejemplo, uno o más parámetros (por ejemplo, un parámetro de error) pueden descodificarse para las bandas bajas y las bandas altas. La señal de banda lateral en el dominio de la frecuencia 754 también puede proporcionarse al mezclador ascendente 710.
[0165] El mezclador ascendente 710 puede realizar una operación de mezcla ascendente basándose en la señal de banda media en el dominio de la frecuencia 752 y la señal de banda lateral en el dominio de la frecuencia 754. Por ejemplo, el mezclador ascendente 710 puede generar una primera señal de mezcla ascendente (Lfr)756 y una segunda señal de mezcla ascendente (Rfr)758 basándose en la señal de banda media en el dominio de la frecuencia 752 y la señal de banda lateral en el dominio de la frecuencia 754. De este modo, en el ejemplo descrito, la primera señal de mezcla ascendente 756 puede ser una señal del canal izquierdo, y la segunda señal de mezcla ascendente 758 puede ser una señal del canal derecho. La primera señal de mezcla ascendente 756 puede expresarse como Mfr(b)+Sfr(b), y la segunda señal de mezcla ascendente 758 puede expresarse como Mfr(b)-Sfr(b). Las señales de mezcla ascendente 756, 758 pueden proporcionarse a un procesador de pistas estéreo 712.
[0166] El procesador de pistas estéreo 712 puede incluir el analizador de modo de IPD 127, el analizador de IPD 125 o ambos, como se describe adicionalmente con referencia a la FIG. 8. El procesador de pistas estéreo 712 puede aplicar el flujo de bits de pistas estéreo 162 a las señales de mezcla ascendente 756, 758 para generar las señales de mezcla ascendente 759, 761. Por ejemplo, el flujo de bits de pistas estéreo 162 puede aplicarse a los canales de mezcla ascendente izquierdo y derecho en el dominio de la frecuencia. Para ilustrar, el procesador de pistas estéreo 712 puede generar la señal 759 (por ejemplo, una señal de salida en el dominio de la frecuencia con rotación de fase) mediante la rotación de fase de la señal de mezcla ascendente 756 basándose en los valores de IPD 161. El procesador de pistas estéreo 712 puede generar la señal 761 (por ejemplo, una señal de salida en el dominio de la frecuencia con rotación de fase) mediante la rotación de fase de la señal de mezcla ascendente 758 basándose en los valores de IPD 161. Cuando esté disponible, la IPD (diferencias de fase) puede propagarse en los canales izquierdo y derecho para mantener las diferencias de fase entre canales, como se describe adicionalmente con referencia a la FIG. 8. Las señales 759, 761 pueden proporcionarse a un procesador temporal 713.
[0167] El procesador temporal 713 puede aplicar el valor de desajuste temporal entre canales 163 a las señales 759, 761 para generar señales 760, 762. Por ejemplo, el procesador temporal 713 puede realizar un ajuste temporal inverso a la señal 759 (o la señal 761) para deshacer el ajuste temporal realizado en el codificador 114. El procesador temporal 713 puede generar la señal 760 desplazando la señal 759 basándose en el valor de ITM 264 (por ejemplo, un negativo del valor de ITM 264) de la FIG. 2. Por ejemplo, el procesador temporal 713 puede generar la señal 760 realizando una operación de desplazamiento causal en la señal 759 basándose en el valor de ITM 264 (por ejemplo, un negativo de valor de ITM 264). La operación de desplazamiento causal puede "hacer avanzar" la señal 759 de manera que la señal 760 esté alineada con la señal 761. La señal 762 puede corresponder a la señal 761. En un aspecto alternativo, el procesador temporal 713 genera la señal 762 desplazando la señal 761 basándose en el valor de ITM 264 (por ejemplo, un negativo del valor de ITM 264). Por ejemplo, el procesador temporal 713 puede generar la señal 762 realizando una operación de desplazamiento causal en la señal 761 basándose en el valor de ITM 264 (por ejemplo, un negativo de valor de ITM 264). La operación de desplazamiento causal puede hacer avanzar (por ejemplo, desplazar temporalmente) la señal 761 de manera que la señal 762 esté alineada con la señal 759. La señal 760 puede corresponder a la señal 759.
[0168] Se puede aplicar una transformada inversa 714 a la señal 760 para generar una primera señal en el dominio del tiempo (por ejemplo, la primera señal de salida (Lt) 126), y se puede aplicar una transformada inversa 716 a la señal 762 para generar una segunda señal en el dominio del tiempo (por ejemplo, la segunda señal de salida (Rt) 128). Los ejemplos no limitativos de las transformadas inversas 714, 716 incluyen operaciones de Transformada de coseno discreta inversa (IDCT), operaciones de Transformada de Fourier rápida inversa (IFFT), etc.
[0169] En un aspecto alternativo, el ajuste temporal se realiza en el dominio del tiempo posterior a las transformadas inversas 714, 716. Por ejemplo, la transformada inversa 714 puede aplicarse a la señal 759 para generar una primera señal en el dominio del tiempo y la transformada inversa 716 puede aplicarse a la señal 761 para generar una segunda señal en el dominio del tiempo. La primera señal en el dominio del tiempo o la segunda señal en el dominio del tiempo pueden desplazarse basándose en el valor de desajuste temporal entre canales 163 para generar la primera señal de salida (Lt) 126 y la segunda señal de salida (Rt) 128. Por ejemplo, la primera señal de salida (Lt) 126 (por ejemplo, una primera señal de salida en el dominio del tiempo desplazada) puede generarse realizando una operación de desplazamiento causal en la primera señal en el dominio del tiempo basada en el valor 262 de ICA (por ejemplo, un negativo del valor de ICA 262) de la FIG. 2. La segunda señal de salida (Rt) 128 puede corresponder a la segunda señal en el dominio del tiempo. Como otro ejemplo, la segunda señal de salida (Rt) 128 (por ejemplo, una segunda señal de salida en el dominio del tiempo desplazada) puede generarse realizando una operación de desplazamiento causal en la segunda señal en el dominio del tiempo basada en el valor 262 de ICA (por ejemplo, una negativo del valor de ICA 262) de la FIG. 2. La primera señal de salida (Lt) 126 puede corresponder a la primera señal en el dominio del tiempo.
[0170] Realizar una operación de desplazamiento causal en una primera señal (por ejemplo, la señal 759, la señal 761, la primera señal en el dominio del tiempo o la segunda señal en el dominio del tiempo) puede corresponder a retardar (por ejemplo, adelantar) la primera señal en el tiempo en el descodificador 118. La primera señal (por ejemplo, la señal 759, la señal 761, la primera señal en el dominio del tiempo o la segunda señal en el dominio del tiempo) se puede retardar en el descodificador 118 para compensar el avance de una señal objetivo (por ejemplo, la señal izquierda en el dominio de la frecuencia (Lfr(b)) 229, la señal derecha en el dominio de la frecuencia (Rfr(b)) 231, la señal izquierda en el dominio del tiempo (Lt) 290 o la señal derecha en el dominio del tiempo (Rt) 292) en el codificador 114 de la FIG. 1. Por ejemplo, en el codificador 114, la señal objetivo (por ejemplo, señal izquierda en el dominio de la frecuencia (Lfr(b)) 229, la señal derecha en el dominio de la frecuencia (Rfr(b)) 231, la señal izquierda en el dominio del tiempo (Lt) 290, o la señal derecha en el dominio del tiempo (Rt) 292 de la FIG. 2) se avanza desplazando temporalmente la señal objetivo basándose en el valor de ITM 163, como se describe con referencia a la FIG. 3. En el descodificador 118, una primera señal de salida (por ejemplo, la señal 759, la señal 761, la primera señal en el dominio del tiempo o la segunda señal en el dominio del tiempo) correspondiente a una versión reconstruida de la señal objetivo se retarda desplazando temporalmente la señal de salida basada en un valor negativo del valor de ITM 163.
[0171] En un aspecto particular, en el codificador 114 de la FIG. 1, una señal retardada se alinea con una señal de referencia alineando una segunda trama de la señal retardada con una primera trama de la señal de referencia, donde se recibe una primera trama de la señal retardada en el codificador 114 al mismo tiempo que la primera trama de la señal de referencia, donde la segunda trama de la señal retardada se recibe después de la primera trama de la señal retardada, y donde el valor de ITM 163 indica un número de tramas entre la primera trama de la señal retardada y la segunda trama de la señal retardada. El descodificador 118 desplaza causalmente (por ejemplo, tira hacia adelante) una primera señal de salida alineando una primera trama de la primera señal de salida con una primera trama de la segunda señal de salida, donde la primera trama de la primera señal de salida corresponde a una versión reconstruida de la primera trama de la señal retardada, y donde la primera trama de la segunda señal de salida corresponde a una versión reconstruida de la primera trama de la señal de referencia. El segundo dispositivo 106 emite la primera trama de la primera señal de salida al mismo tiempo que emite la primera trama de la segunda señal de salida. Debe entenderse que el desplazamiento a nivel de trama se describe para facilitar la explicación, en algunos aspectos el desplazamiento causal a nivel de muestra se realiza en la primera señal de salida. Una de la primera señal de salida 126 o la segunda señal de salida 128 corresponde a la primera señal de salida desplazada causalmente, y la otra de la primera señal de salida 126 o la segunda señal de salida 128 corresponde a la segunda señal de salida. El segundo dispositivo 106 conserva así (al menos parcialmente) una desalineación temporal (por ejemplo, un efecto estéreo) en la primera señal de salida 126 con respecto a la segunda señal de salida 128 que corresponde a una desalineación temporal (si la hay) entre la primera señal de audio 130 con respecto a la segunda señal de audio 132.
[0172] De acuerdo con una implementación, la primera señal de salida (Lt) 126 corresponde a una versión reconstruida de la primera señal de audio 130 ajustada en fase, mientras que la segunda señal de salida (Rt) 128 corresponde a una versión reconstruida de la segunda señal de audio ajustada en fase 132. De acuerdo con una implementación, una o más operaciones descritas en el presente documento como se realizan en el mezclador ascendente 710 se realizan en el procesador de pistas estéreo 712. De acuerdo con otra implementación, una o más operaciones descritas en el presente documento como se realizan en el procesador de pistas estéreo 712 se realizan en el mezclador 710. De acuerdo con otra implementación más, el mezclador ascendente 710 y el procesador de pistas estéreo 712 se implementan dentro de un único elemento de procesamiento (por ejemplo, un único procesador).
[0173] Con referencia a la FIG. 8, se muestra un diagrama que ilustra una implementación particular del procesador de pistas estéreo 712 del descodificador 118. El procesador de pistas estéreo 712 puede incluir el analizador de modo de IPD 127 acoplado al analizador de IPD 125.
[0174] El analizador de modo de IPD 127 puede determinar que el flujo de bits de pistas estéreo 162 incluye el indicador de modo de IPD 116. El analizador de modo de IPD 127 puede determinar que el indicador de modo de IPD 116 indica el modo de IPD 156. En un aspecto alternativo, el analizador de modo de IPD 127, en respuesta a la determinación de que el indicador de modo de IPD 116 no está incluido en el flujo de bits de pistas estéreo 162, determina el modo de IPD 156 basándose en el tipo de núcleo 167, el tipo de codificador 169, el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el parámetro de decisión de voz/música 171, los parámetros de LB 159, los parámetros de BWE 155, o una combinación de los mismos, como se describe con referencia a la FIG. 4. El flujo de bits de pistas estéreo 162 puede indicar el tipo de núcleo 167, el tipo de codificador 169, el valor de desajuste temporal entre canales 163, el valor de intensidad 150, el parámetro de decisión de voz/música 171, los parámetros de LB 159, los parámetros de BWE 155, o un combinación de los mismos. En un aspecto particular, el tipo de núcleo 167, el tipo de codificador 169, el parámetro de decisión de voz/música 171, los parámetros de LB 159, los parámetros de BWE 155, o una combinación de los mismos, se indican en el flujo de bits de pistas estéreo para una trama anterior.
[0175] En un aspecto particular, el analizador de modo de IPD 127 determina, basándose en el valor de ITM 163, si utilizar los valores de IPD 161 recibidos desde el codificador 114. Por ejemplo, el analizador de modo de IPD 127 determina si se deben utilizar los valores de IPD 161 basándose en el siguiente pseudocódigo:
c = (1+g+STEREO_DFT_FLT_MIN)/(1-g+STEREO_DFT_FLT_MIN);
if (b < hStereoDft^res_pred_band_min && hStereoDft^res_cod_mode[k+k_offset]
&& fabs (hStereoDft^itd[k+k_offset])>80.0f)
{
alpha = 0;
beta = (float)(atan2(sin(alpha), (cos(alpha) 2*c))); /* beta applied in both directions is limited [-pi, pi]*/
}
else
{
alpha = plpd[b];
beta = (float)(atan2(sin(alpha), (cos(alpha) 2*c))); /* beta applied in both directions is limited [-pi, pi]*/
}
donde "hStereoDft^res_cod_mode[k+k_offset]'' indica si el codificador 114 ha proporcionado el flujo de bits de banda lateral 164, ''hStereoDft^itd[k+k_offsetj'' corresponde al valor de ITM 163, y "plpd[b]"corresponde a los valores de IPD 161. El analizador de modo de IPD 127 determina que los valores de IPD 161 no deben utilizarse en respuesta a la determinación de que el codificador 114 ha proporcionado el flujo de bits de banda lateral 164 y que el valor de ITM 163 (por ejemplo, un valor absoluto del valor de ITM 163) es mayor que un umbral (por ejemplo, 80.0f). Por ejemplo, el analizador de modo de IPD 127 basándose al menos en parte en la determinación de que el codificador 114 ha proporcionado el flujo de bits de banda lateral 164 y que el valor de ITM 163 (por ejemplo, un valor absoluto del valor de ITM 163) es mayor que el umbral (por ejemplo, 80,0f), proporciona un primer modo de IPD como el modo de IPD 156 (por ejemplo, "alpha = 0") al analizador de IPD 125. El primer modo de IPD corresponde a resolución cero. Configurar el modo de IPD 156 para que se corresponda con la resolución cero mejora la calidad de audio de una señal de salida (por ejemplo, la primera señal de salida 126, la segunda señal de salida 128, o ambas) cuando el valor de ITM 163 indica un gran desplazamiento (por ejemplo, el valor absoluto del valor de ITM 163 es mayor que el umbral) y la codificación residual se usa en bandas de frecuencias más bajas. El uso de codificación residual corresponde al codificador 114 que proporciona el flujo de bits de banda lateral 164 al descodificador 118 y al descodificador 118 utilizando el flujo de bits de banda lateral 164 para generar la señal de salida (por ejemplo, la primera señal de salida 126, la segunda señal de salida 128, o ambas). En un aspecto particular, el codificador 114 y el descodificador 118 están configurados para usar codificación residual (además de la predicción residual) para velocidades de bits más altas (por ejemplo, más de 20 kilobits por segundo (kbps)).
[0176] De forma alternativa, el analizador de modo de IPD 127, en respuesta a la determinación de que el codificador 114 no ha proporcionado el flujo de bits de banda lateral 164 o que el valor de ITM 163 (por ejemplo, un valor absoluto del valor de ITM 163) es menor o igual al umbral (por ejemplo, 80,0f), determina que los valores de IPD 161 se van a utilizar (por ejemplo, "alpha = plpd[b]"). Por ejemplo, el analizador de modo de IPD 127 proporciona el modo de IPD 156 (que se determina basándose en el flujo de bits de pistas estéreo 162) al analizador de IPD 125. Configurar el modo de IPD 156 para que se corresponda con una resolución cero tiene menos impacto en la mejora de la calidad de audio de la señal de salida (por ejemplo, la primera señal de salida 126, la segunda señal de salida 128, o ambas) cuando no se usa la codificación residual o cuando el valor de ITM 163 indica un desplazamiento menor (por ejemplo, el valor absoluto del valor de ITM 163 es menor o igual al umbral).
[0177] En un ejemplo particular, el codificador 114, el descodificador 118, o ambos, están configurados para usar predicción residual (y no codificación residual) para velocidades de bits más bajas (por ejemplo, menor o igual a 20 kbps). Por ejemplo, el codificador 114 está configurado para abstenerse de proporcionar el flujo de bits de banda lateral 164 al descodificador 118 para velocidades de bits más bajas, y el descodificador 118 está configurado para generar la señal de salida (por ejemplo, la primera señal de salida 126, la segunda señal de salida 128, o ambas) independientemente del flujo de bits de banda lateral 164 para velocidades de bits más bajas. El descodificador 118 está configurado para generar la señal de salida basándose en el modo de IPD 156 (que se determina basándose en el flujo de bits de pistas estéreo 162) cuando la señal de salida se genera independientemente del flujo de bits de banda lateral 164 o cuando el valor de ITM 163 indica un turno más pequeño.
[0178] El analizador de IPD 125 puede determinar que los valores de IPD 161 tienen la resolución 165 (por ejemplo, un primer número de bits, como 0 bits, 3 bits, 16 bits, etc.) correspondientes al modo de IPD 156. El analizador de IPD 125 puede extraer los valores de IPD 161, si están presentes, del flujo de bits de pistas estéreo 162 basándose en la resolución 165. Por ejemplo, el analizador de IPD 125 puede determinar los valores de IPD 161 representados por el primer número de bits del flujo de bits de pistas estéreo 162. En algunos ejemplos, el modo de IPD 156 también puede notificar no solo al procesador de pistas estéreo 712 del número de bits que se utilizan para representar los valores de IPD 161, sino que también puede notificar al procesador de pistas estéreo 712 qué bits específicos (por ejemplo, qué ubicaciones de bits) del flujo de bits de pistas estéreo 162 se están utilizando para representar los valores de IPD 161.
[0179] En un aspecto particular, el analizador de IPD 125 determina que la resolución 165, el modo de IPD 156, o ambos, indican que los valores de IPD 161 están configurados a un valor particular (por ejemplo, cero), que cada uno de los valores de IPD 161 está configurado a un valor particular (por ejemplo, cero), o que los valores de IPD 161 están ausentes del flujo de bits de pistas estéreo 162. Por ejemplo, el analizador de IPD 125 puede determinar que los valores de IPD 161 se establecen en cero o están ausentes del flujo de bits de pistas estéreo 162 en respuesta a determinar que la resolución 165 indica una resolución particular (por ejemplo, 0), que el modo de IPD 156 indica un modo de IPD particular (por ejemplo, el segundo modo de IPD 467 de la FIG. 4) asociado con la resolución particular (por ejemplo, 0), o ambos. Cuando los valores de IPD 161 están ausentes del flujo de bits de pistas estéreo 162 o la resolución 165 indica la resolución particular (por ejemplo, cero), el procesador de pistas estéreo 712 puede generar las señales 760, 762 sin realizar ajustes de fase a la primera señal mezclada. (Lfr) 756 y la segunda señal de mezcla ascendente (Rfr) 758.
[0180] Cuando los valores de IPD 161 están presentes en el flujo de bits de pistas estéreo 162, el procesador de pistas estéreo 712 puede generar la señal 760 y la señal 762 realizando ajustes de fase a la primera señal mezclada (Lfr) 756 y la segunda señal mezclada (Rfr) 758 basándose en los valores de IPD 161. Por ejemplo, el procesador de pistas estéreo 712 puede realizar un ajuste de fase inverso para deshacer el ajuste de fase realizado en el codificador 114.
[0181] Por tanto, el descodificador 118 puede configurarse para manejar ajustes dinámicos a nivel de trama en el número de bits que se utilizan para representar un parámetro de pistas estéreo. La calidad de audio de las señales de salida se puede mejorar cuando se usa un mayor número de bits para representar un parámetro de pistas estéreo que tiene un mayor impacto en la calidad de audio.
[0182] Con referencia a la FIG. 9, se muestra un procedimiento de funcionamiento y se designa en general como 900. El procedimiento 900 puede ser realizado por el descodificador 118, el analizador de modo de IPD 127, el analizador de IPD 125 de la FIG. 1, el descodificador de banda media 704, el descodificador de banda lateral 706, el procesador de pistas estéreo 712 de la FIG. 7, o una combinación de los mismos.
[0183] El procedimiento 900 incluye generar, en un dispositivo, una señal de banda media basada en un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio, en 902. Por ejemplo, el descodificador de banda media 704 puede generar la señal de banda media en el dominio de la frecuencia (Mfr(b)) 752 basándose en el flujo de bits de banda media 166 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132, como se describe con referencia a la FIG. 7.
[0184] El procedimiento 900 también incluye generar, en el dispositivo, una primera señal de salida en el dominio de la frecuencia y una segunda señal de salida en el dominio de la frecuencia basada al menos en parte en la señal de banda media, en 904. Por ejemplo, el mezclador ascendente 710 puede generar las señales mezcladas ascendentes 756, 758 basándose al menos en parte en la señal de banda media en el dominio de la frecuencia (Mfr(b)) 752, como se describe con referencia a la FIG. 7.
[0185] El procedimiento incluye además seleccionar, en el dispositivo, un modo de IPD, en 906. Por ejemplo, el analizador de modo de IPD 127 puede seleccionar el modo de IPD 156 basándose en el indicador de modo de IPD 116, como se describe con referencia a la FIG. 8.
[0186] El procedimiento también incluye extraer, en el dispositivo, valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD, en 908. Por ejemplo, el analizador de IPD 125 puede extraer los valores de IPD 161 del flujo de bits de pistas estéreo 162 basándose en la resolución 165 asociada con el modo de IPD 156, como se describe con referencia a la FIG. 8. El flujo de bits de pistas estéreo 162 puede estar asociado con (por ejemplo, puede incluir) el flujo de bits de banda media 166.
[0187] El procedimiento incluye además generar, en el dispositivo, una primera señal de salida en el dominio de la frecuencia desplazada mediante el desplazamiento de fase de la primera señal de salida en el dominio de la frecuencia basándose en los valores de IPD, en 910. Por ejemplo, el procesador de pistas estéreo 712 del segundo dispositivo 106 puede generar la señal 760 desplazando de fase la primera señal de mezcla ascendente (Lfr(b)) 756 (o la primera señal de mezcla ascendente ajustada (Lfr) 756) basándose en los valores de IPD 161, como se describe con referencia a la FIG. 8.
[0188] El procedimiento incluye además generar, en el dispositivo, una segunda señal de salida en el dominio de la frecuencia desplazada mediante el desplazamiento de fase de la segunda señal de salida en el dominio de la frecuencia basándose en los valores de IPD, en 912. Por ejemplo, el procesador de pistas estéreo 712 del segundo dispositivo 106 puede generar la señal 762 desplazando la fase de la segunda señal de mezcla ascendente (Rfr(b)) 758 (o la segunda señal de mezcla ascendente ajustada (Rfr) 758) basándose en los valores de IPD 161, como se describe con referencia a la FIG. 8.
[0189] El procedimiento también incluye generar, en el dispositivo, una primera señal de salida en el dominio del tiempo aplicando una primera transformada en la primera señal de salida en el dominio de la frecuencia desplazada y una segunda señal de salida en el dominio del tiempo aplicando una segunda transformada en la segunda frecuencia desplazada. señal de salida en el dominio, en 914. Por ejemplo, el descodificador 118 puede generar la primera señal de salida 126 aplicando la transformada inversa 714 a la señal 760 y puede generar la segunda señal de salida 128 aplicando la transformada inversa 716 a la señal 762, como se describe con referencia a la FIG. 7. La primera señal de salida 126 puede corresponder a un primer canal (por ejemplo, canal derecho o canal izquierdo) de una señal estéreo y la segunda señal de salida 128 puede corresponder a un segundo canal (por ejemplo, canal izquierdo o canal derecho) de la señal estéreo.
[0190] Por tanto, el procedimiento 900 puede permitir que el descodificador 118 maneje ajustes dinámicos a nivel de trama en el número de bits que se utilizan para representar un parámetro de pistas estéreo. La calidad de audio de las señales de salida se puede mejorar cuando se usa un mayor número de bits para representar un parámetro de pistas estéreo que tiene un mayor impacto en la calidad de audio.
[0191] Con referencia a la FIG. 10, se muestra un procedimiento de funcionamiento y se designa en general como 1000. El procedimiento 1000 se puede realizar mediante el codificador 114, el selector de modo de IPD 108, el estimador de IPD 122, el analizador de ITM 124 de la FIG. 1 o una combinación de los mismos.
[0192] El procedimiento 1000 incluye determinar, en un dispositivo, un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio en relación con una segunda señal de audio, en 1002. Por ejemplo, como se describe con referencia a las FIGS. 1-2, el analizador ITM 124 puede determinar el valor de ITM 163 indicativo de una desalineación temporal entre la primera señal de audio 130 y la segunda señal de audio 132.
[0193] El procedimiento 1000 incluye seleccionar, en el dispositivo, un modo de diferencia de fase entre canales (IPD) basado en al menos el valor de desajuste temporal entre canales, en 1004. Por ejemplo, como se describe con referencia a la FIG. 4, el selector de modo de IPD 108 puede seleccionar el modo de IPD 156 basándose al menos en parte en el valor de ITM 163.
[0194] El procedimiento 1000 también incluye determinar, en el dispositivo, valores de IPD basados en la primera señal de audio y la segunda señal de audio, en 1006. Por ejemplo, como se describe con referencia a la FIG. 4, el estimador de IPD 122 puede determinar los valores de IPD 161 basándose en la primera señal de audio 130 y la segunda señal de audio 132.
[0195] Por tanto, el procedimiento 1000 puede permitir que el codificador 114 maneje ajustes dinámicos a nivel de trama en el número de bits que se utilizan para representar un parámetro de pistas estéreo. La calidad de audio de las señales de salida se puede mejorar cuando se usa un mayor número de bits para representar un parámetro de pistas estéreo que tiene un mayor impacto en la calidad de audio.
[0196] Con referencia a la FIG. 11, se representa un diagrama de bloques de un ejemplo ilustrativo particular de un dispositivo (por ejemplo, un dispositivo de comunicación inalámbrica) y en general se designa con 1100. En diversos modos de realización, el dispositivo 1100 puede tener menos o más componentes de los que se ilustran en la FIG. 11. En un modo de realización ilustrativo, el dispositivo 1100 puede corresponder al primer dispositivo 104 o al segundo dispositivo 106 de la FIG. 1. En un modo de realización ilustrativo, el dispositivo 1100 puede realizar una o más operaciones descritas con referencia a sistemas y procedimientos de las FIGS. 1-10.
[0197] En un modo de realización particular, el dispositivo 1100 incluye un procesador 1106 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 1100 puede incluir uno o más procesadores 1110 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). El procesador 1110 puede incluir un codificador-descodificador (por ejemplo, voz y música) de medios (CÓDEC) 1108 y un cancelador de eco 1112. El CÓDEC de medios 1108 puede incluir el descodificador 118, el codificador 114, o ambos, de la FIG. 1. El codificador 114 puede incluir el clasificador de voz/música 129, el estimador de IPD 122, el selector de modo de IPD 108, el analizador de desajuste temporal entre canales 124, o una combinación de los mismos. El descodificador 118 puede incluir el analizador de IPD 125, el analizador de modo de IPD 127 o ambos.
[0198] El dispositivo 1100 puede incluir una memoria 1153 y un CÓDEC 1134. Aunque el CÓDEC de medios 1108 se ilustra como un componente de los procesadores 1110 (por ejemplo, circuitos dedicados y/o código de programación ejecutable), en otros modos de realización uno o más componentes del CÓDEC de medios 1108, tal como el descodificador 118, el codificador 114, o ambos, se pueden incluir en el procesador 1106, el CÓDEC 1134, otro componente de procesamiento, o una combinación de los mismos. En un aspecto particular, los procesadores 1110, el procesador 1106, el CÓDEC 1134 u otro componente de procesamiento realizan una o más operaciones descritas en el presente documento según las realiza el codificador 114, el descodificador 118 o ambos. En un aspecto particular, las operaciones descritas en el presente documento, tal como las realiza el codificador 114, son realizadas por uno o más procesadores incluidos en el codificador 114. En un aspecto particular, las operaciones descritas en el presente documento tal como las realiza el descodificador 118 son realizadas por uno o más procesadores incluidos en el descodificador 118.
[0199] El dispositivo 1100 puede incluir un transceptor 1152 acoplado a una antena 1142. El transceptor 1152 puede incluir el transmisor 110, el receptor 170 de la FIG. 1, o ambos. El dispositivo 1100 puede incluir una pantalla 1128 acoplada a un controlador de pantalla 1126. Uno o más altavoces 1148 pueden estar acoplados al CÓDEC 1134. Se pueden acoplar uno o más micrófonos 1146, a través de la interfaz o interfaces de entrada 112, al CÓDEC 1134. En una implementación particular, los altavoces 1148 incluyen el primer altavoz 142, el segundo altavoz 144 de la FIG. 1 o una combinación de los mismos. En una implementación particular, los micrófonos 1146 incluyen el primer micrófono 146, el segundo micrófono 148 de la FIG. 1, o una combinación de los mismos. El CÓDEC 1134 puede incluir un convertidor digital-analógico (DAC) 1102 y un convertidor analógico-digital (ADC) 1104.
[0200] La memoria 1153 puede incluir instrucciones 1160 ejecutables por el procesador 1106, el procesador 1110, el CÓDEC 1134, otra unidad de procesamiento del dispositivo 1100, o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a las FIGS. 1 -10.
[0201] Uno o más componentes del dispositivo 1100 pueden implementarse a través de hardware dedicado (por ejemplo, circuitería), mediante un procesador que ejecuta instrucciones para realizar una o más tareas, o una combinación de las mismas. Como un ejemplo, la memoria 1153 o uno o más componentes del procesador 1106, los procesadores 1110 y/o el CÓDEC 1134 puede(n) ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de giro (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 1160) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC 1134, el procesador 1106 y/o los procesadores 1110), pueden hacer que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1-10. Como un ejemplo, la memoria 1153 o los uno o más componentes del procesador 1106, los procesadores 1110, y/o el CÓDEC 1134 pueden ser un medio legible por ordenador no transitorio que incluye instrucciones (por ejemplo, las instrucciones 1160) que, cuando se ejecutan mediante un ordenador (por ejemplo, un procesador en el CÓDEC 1134, el procesador 1106 y/o los procesadores 1110), hacen que el ordenador realice una o más operaciones descritas con referencia a las FIGS. 1 -10.
[0202] En un modo de realización particular, el dispositivo 1100 puede estar incluido en un dispositivo de sistema en paquete o de sistema en chip (por ejemplo, un módem de estación móvil (MSM)) 1122. En un modo de realización particular, el procesador 1106, los procesadores 1110, el controlador de visualización 1126, la memoria 1153, el CÓDEC 1134 y el transceptor 1152 se incluyen en un sistema en cápsula o el dispositivo de sistema en chip 1122. En un modo de realización particular, un dispositivo de entrada 1130, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 1144 están acoplados al dispositivo de sistema en chip 1122. Además, en un modo de realización particular, como se ilustra en la FIG. 11, la pantalla 1128, el dispositivo de entrada 1130, los altavoces 1148, los micrófonos 1146, la antena 1142 y la fuente de alimentación 1144 son externos al dispositivo de sistema en chip 1122. Sin embargo, cada uno de la pantalla 1128, el dispositivo de entrada 1130, los altavoces 1148, los micrófonos 1146, la antena 1142 y la fuente de alimentación 1144 se pueden acoplar a un componente del dispositivo de sistema en chip 1122, tal como una interfaz o un controlador.
[0203] El dispositivo 1100 puede incluir un teléfono inalámbrico, un dispositivo de comunicación móvil, un teléfono móvil, un teléfono inteligente, un teléfono celular, un ordenador portátil, un ordenador de escritorio, un ordenador, una tablet, un descodificador, un asistente digital personal (PDA), un dispositivo de visualización, un televisor, una consola de juegos, un reproductor de música, una radio, un reproductor de vídeo, una unidad de entretenimiento, un dispositivo de comunicación, una unidad de datos de ubicación fija, un reproductor multimedia personal, un reproductor de vídeo digital, un reproductor de disco de vídeo digital (DVD), un sintonizador, una cámara, un dispositivo de navegación, un sistema descodificador, un sistema codificador o cualquier combinación de los mismos.
[0204] En una implementación particular, uno o más componentes de los sistemas y dispositivos divulgados en el presente documento están integrados en un sistema o aparato de descodificación (por ejemplo, un dispositivo electrónico, un CÓDEC o un procesador en el mismo), en un sistema o aparato de codificación, o en ambos. En una implementación particular, uno o más componentes de los sistemas y dispositivos divulgados en el presente documento se integran en un dispositivo móvil, un teléfono inalámbrico, una tablet, un ordenador de escritorio, un ordenador portátil, un descodificador, un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, un televisor, una consola de juegos, un dispositivo de navegación, un dispositivo de comunicación, un PDA, una unidad de datos de ubicación fija, un reproductor multimedia personal u otro tipo de dispositivo.
[0205] Debe observarse que diversas funciones realizadas por uno o más componentes de los sistemas y dispositivos divulgados en el presente documento se describen como realizados por determinados componentes o módulos. Esta división de componentes y módulos tiene solo fines ilustrativos. En una implementación alternativa, una función realizada mediante un componente o módulo particular se divide entre múltiples componentes o módulos. Además, en una implementación alternativa, dos o más componentes o módulos se integran en un único componente o módulo. Cada componente o módulo se puede implementar usando hardware (por ejemplo, un dispositivo de conjunto de puertas programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), un DSP, un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o una combinación de los mismos.
[0206] Junto con las implementaciones descritas, un aparato para procesar señales de audio incluye medios para determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. Entre los medios de determinación del valor de desajuste temporal entre canales se incluye el analizador de desajuste temporal entre canales 124, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un valor de desajuste temporal entre canales (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0207] El aparato también incluye medios para seleccionar un modo de IPD basándose en al menos el valor de desajuste temporal entre canales. Por ejemplo, entre los medios para seleccionar el modo de IPD puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0208] El aparato también incluye medios para determinar los valores de IPD basados en la primera señal de audio y la segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD 161 tienen una resolución correspondiente al modo de IPD 156 (por ejemplo, el modo de IPD seleccionado).
[0209] Además, junto con las implementaciones descritas, un aparato para procesar señales de audio incluye medios para determinar un modo de IPD. Por ejemplo, entre los medios de determinación del modo de IPD se incluye el analizador de modo 127, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pistas estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0210] El aparato también incluye medios para extraer valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD. Por ejemplo, entre los medios de extracción de los valores de IPD se incluye el analizador de IPD 125, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pista estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para extraer valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. El flujo de bits de pistas estéreo 162 está asociado con un flujo de bits de banda media 166 correspondiente a la primera señal de audio 130 y la segunda señal de audio 132.
[0211] Además, junto con las implementaciones descritas, un aparato incluye medios para recibir un flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios de recepción puede incluirse el receptor 170 de la FIG.
1, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el desmultiplexor 702 de la FIG. 7, el transceptor 1152, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para recibir un flujo de bits de pistas estéreo (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. El flujo de bits de pistas estéreo puede indicar un valor de desajuste temporal entre canales, valores de IPD o una combinación de los mismos.
[0212] El aparato también incluye medios para determinar un modo de IPD basándose en el valor de desajuste temporal entre canales. Por ejemplo, entre los medios de determinación del modo de IPD puede incluirse el analizador de modo 127, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pistas estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0213] El aparato incluye además medios para determinar los valores de IPD basándose, al menos en parte, en una resolución asociada con el modo de IPD. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el analizador de IPD 125, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pistas estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0214] Además, junto con las implementaciones descritas, un aparato incluye medios para determinar un valor de desajuste temporal entre canales indicativo de una desalineación temporal entre una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios de determinación de un valor desajuste temporal entre canales puede incluirse el analizador de desajuste temporal entre canales 124, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG.1, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un valor de desajuste temporal entre canales (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0215] El aparato también incluye medios para seleccionar un modo de IPD basándose en al menos el valor de desajuste temporal entre canales. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0216] El aparato incluye además medios para determinar los valores de IPD basados en la primera señal de audio y la segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD pueden tener una resolución correspondiente al modo de IPD seleccionado.
[0217] Además, junto con las implementaciones descritas, un aparato incluye medios para seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada al menos en parte en un tipo de codificador asociado con una trama anterior de la señal de banda media en el dominio de la frecuencia. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0218] El aparato también incluye medios para determinar los valores de IPD basados en una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD pueden tener una resolución correspondiente al modo de IPD seleccionado. Los valores de IPD pueden tener una resolución correspondiente al modo de IPD seleccionado.
[0219] El aparato incluye además medios para generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD. Por ejemplo, entre los medios para generar la primera trama de la señal de banda media en el dominio de la frecuencia puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el generador de señales de banda media 212 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para generar una trama de una señal de banda media en el dominio de la frecuencia (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0220] Además, junto con las implementaciones descritas, un aparato incluye medios para generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios para generar la señal de banda media estimada puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el mezclador descendente 320 de la FIG. 3, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para generar una señal de banda media estimada (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0221] El aparato también incluye medios para determinar un tipo de codificador previsto basándose en la señal de banda media estimada. Por ejemplo, entre los medios para determinar un tipo de codificador predicho puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el pre-procesador 318 de la FIG.
3, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un tipo de codificador predicho (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0222] El aparato incluye además medios para seleccionar un modo de IPD basado, al menos en parte, en el tipo de codificador previsto. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0223] El aparato también incluye medios para determinar los valores de IPD basados en la primera señal de audio y la segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD pueden tener una resolución correspondiente al modo de IPD seleccionado.
[0224] Además, junto con las implementaciones descritas, un aparato incluye medios para seleccionar un modo de IPD asociado con una primera trama de una señal de banda media en el dominio de la frecuencia basada, al menos en parte, en un tipo de núcleo asociado con una trama anterior en el dominio de la frecuencia. señal de banda media. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG.
2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0225] El aparato también incluye medios para determinar los valores de IPD basados en una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD pueden tener una resolución correspondiente al modo de IPD seleccionado.
[0226] El aparato incluye además medios para generar la primera trama de la señal de banda media en el dominio de la frecuencia basándose en la primera señal de audio, la segunda señal de audio y los valores de IPD. Por ejemplo, entre los medios para generar la primera trama de la señal de banda media en el dominio de la frecuencia puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el generador de señales de banda media 212 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para generar una trama de una señal de banda media en el dominio de la frecuencia (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0227] Además, junto con las implementaciones descritas, un aparato incluye medios para generar una señal de banda media estimada basada en una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios para generar la señal de banda media estimada puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el mezclador descendente 320 de la FIG. 3, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para generar una señal de banda media estimada (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0228] El aparato también incluye medios para determinar un tipo de núcleo predicho basándose en la señal de banda media estimada. Por ejemplo, entre los medios para determinar un tipo de núcleo predicho puede incluirse el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el pre-procesador 318 de la FIG. 3, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un tipo de codificador predicho (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0229] El aparato incluye además medios para seleccionar un modo de IPD basándose en el tipo de núcleo previsto. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG.
2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0230] El aparato también incluye medios para determinar los valores de IPD basados en la primera señal de audio y la segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0231] Además, junto con las implementaciones descritas, un aparato incluye medios para determinar un parámetro de decisión de voz/música basándose en una primera señal de audio, una segunda señal de audio o ambas. Por ejemplo, entre los medios de determinación de un parámetro de decisión de voz/música puede incluirse el clasificador de voz/música 129, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un parámetro de decisión de voz/música (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0232] El aparato también incluye medios para seleccionar un modo de IPD basado al menos en parte en el parámetro de decisión de voz/música. Por ejemplo, entre los medios para seleccionar puede incluirse el selector de modo de IPD 108, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para seleccionar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0233] El aparato incluye además medios para determinar los valores de IPD basados en la primera señal de audio y la segunda señal de audio. Por ejemplo, entre los medios de determinación de los valores de IPD puede incluirse el estimador de IPD 122, el codificador 114, el primer dispositivo 104, el sistema 100 de la FIG. 1, el estimador de pistas estéreo 206 de la FIG. 2, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar los valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos. Los valores de IPD tienen una resolución correspondiente al modo de IPD seleccionado.
[0234] Además, junto con las implementaciones descritas, un aparato incluye medios para determinar un modo de IPD basándose en un indicador de modo de IPD. Por ejemplo, entre los medios de determinación del modo de IPD puede incluirse el analizador de modo 127, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pistas estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para determinar un modo de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0235] El aparato también incluye medios para extraer valores de IPD de un flujo de bits de pistas estéreo basándose en una resolución asociada con el modo de IPD, el flujo de bits de pistas estéreo asociado con un flujo de bits de banda media correspondiente a una primera señal de audio y una segunda señal de audio. Por ejemplo, entre los medios de extracción de los valores de IPD puede incluirse el analizador de IPD 125, el descodificador 118, el segundo dispositivo 106, el sistema 100 de la FIG. 1, el procesador de pistas estéreo 712 de la FIG. 7, el CÓDEC de medios 1108, los procesadores 1110, el dispositivo 1100, uno o más dispositivos configurados para extraer valores de IPD (por ejemplo, un procesador que ejecuta instrucciones que se almacenan en un dispositivo de almacenamiento legible por ordenador), o una combinación de los mismos.
[0236] Con referencia a la FIG. 12, se representa un diagrama de bloques de un ejemplo ilustrativo particular de una estación base 1200. En diversas implementaciones, la estación base 1200 puede tener más componentes o menos componentes de los ilustrados en la FIG. 12. En un ejemplo ilustrativo, la estación base 1200 puede incluir el primer dispositivo 104, el segundo dispositivo 106 de la FIG. 1 o ambos. En un ejemplo ilustrativo, la estación base 1200 puede realizar una o más operaciones descritas con referencia a las FIGS. 1-11.
[0237] La estación base 1200 puede ser parte de un sistema de comunicación inalámbrica. El sistema de comunicación inalámbrica puede incluir múltiples estaciones base y múltiples dispositivos inalámbricos. El sistema de comunicación inalámbrica puede ser un sistema de Evolución a Largo Plazo (LTE), un sistema de Acceso Múltiple por División de Código (CDMA), un Sistema global para comunicaciones móviles (GSM), un sistema de Red inalámbrica de área local (WLAN), o algún otro sistema inalámbrico. Un sistema CDMA puede implementar CDMA de banda ancha (WCDMA), CDMA 1X, evolución de datos optimizados (EVDO), CDMA síncrono por división de tiempo (TD-SCDMA) o alguna otra versión de CDMA.
[0238] 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. Los dispositivos inalámbricos pueden incluir un teléfono móvil, un teléfono inteligente, una tablet, un módem inalámbrico, un asistente digital personal (PDA), un dispositivo portátil, un ordenador portátil, un smartbook, un netbook, una tablet, un teléfono inalámbrico, una estación de bucle local inalámbrico (WLL), un dispositivo Bluetooth, etc. Los dispositivos inalámbricos pueden incluir o corresponder al primer dispositivo 104 o al segundo dispositivo 106 de la FIG. 1.
[0239] Uno o más componentes de la estación base 1200 pueden realizar diversas funciones (y/o en otros componentes no mostrados), tales como enviar y recibir mensajes y datos (por ejemplo, datos de audio). En un ejemplo particular, la estación base 1200 incluye un procesador 1206 (por ejemplo, una CPU). La estación base 1200 puede incluir un transcodificador 1210. El transcodificador 1210 puede incluir un CÓDEC de audio 1208. Por ejemplo, el transcodificador 1210 puede incluir uno o más componentes (por ejemplo, circuitos) configurados para realizar operaciones del CÓDEC de audio 1208. Como otro ejemplo, el transcodificador 1210 puede configurarse para ejecutar una o más instrucciones legibles por ordenador para realizar las operaciones del CÓDEC de audio 1208. Aunque se ilustra el CÓDEC de audio 1208 como un componente del transcodificador 1210, en otros ejemplos se pueden incluir uno o más componentes del CÓDEC de audio 1208 en el procesador 1206, otro componente de procesamiento o una combinación de los mismos. Por ejemplo, el descodificador 118 (por ejemplo, un descodificador de codificador de voz) puede incluirse en un procesador de datos de receptor 1264. Como otro ejemplo, se puede incluir el codificador 114 (por ejemplo, un codificador de codificador de voz) en un procesador de datos de transmisión 1282.
[0240] El transcodificador 1210 puede funcionar para transcodificar mensajes y datos entre dos o más redes. El transcodificador 1210 puede configurarse para convertir mensajes y datos de audio de un primer formato (por ejemplo, un formato digital) a un segundo formato. A modo ilustrativo, el descodificador 118 puede descodificar señales codificadas que tienen un primer formato y el codificador 114 puede codificar las señales descodificadas en señales codificadas que tienen un segundo formato. De forma adicional o alternativa, el transcodificador 1210 puede configurarse para realizar la adaptación de la velocidad de datos. Por ejemplo, el transcodificador 1210 puede reducir la velocidad de transferencia de datos o aumentar la velocidad de transferencia de datos sin cambiar el formato de los datos de audio. A modo ilustrativo, el transcodificador 1210 puede convertir a la baja las señales de 64 kbit/s en señales de 16 kbit/s.
[0241] El CÓDEC de audio 1208 puede incluir el codificador 114 y el descodificador 118. El codificador 114 puede incluir el selector de modo de IPD 108, el analizador de ITM 124 o ambos. El descodificador 118 puede incluir el analizador de IPD 125, el analizador de modo de IPD 127 o ambos.
[0242] La estación base 1200 puede incluir una memoria 1232. La memoria 1232, tal como un dispositivo de almacenamiento legible por ordenador, puede incluir instrucciones. Entre las instrucciones puede incluirse una o más instrucciones que son ejecutables por el procesador 1206, el transcodificador 1210, o una combinación de los mismos, para realizar una o más operaciones descritas con referencia a las FIGS. 1-11. La estación base 1200 puede incluir múltiples transmisores y receptores (por ejemplo, transceptores), tales como un primer transceptor 1252 y un segundo transceptor 1254, acoplados a un conjunto de antenas. El conjunto de antenas puede incluir una primera antena 1242 y una segunda antena 1244. El conjunto de antenas se puede configurar para comunicarse de forma inalámbrica con uno o más dispositivos inalámbricos, tal como el primer dispositivo 104 o el segundo dispositivo 106 de la FIG. 1. Por ejemplo, la segunda antena 1244 puede recibir un flujo de datos 1214 (por ejemplo, un flujo de bits) desde un dispositivo inalámbrico. El flujo de datos 1214 puede incluir mensajes, datos (por ejemplo, datos de voz codificados) o una combinación de los mismos.
[0243] La estación base 1200 puede incluir una conexión de red 1260, tal como una conexión de retorno. La conexión de red 1260 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 1200 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 1260. La estación base 1200 puede procesar el segundo flujo de datos para generar mensajes o datos de audio y proporcionar los mensajes o los datos de audio a uno o más dispositivos inalámbricos a través de una o más antenas del conjunto de antenas u otra estación base a través de la conexión de red 1260. En una implementación particular, la conexión de red 1260 incluye o se corresponde con una conexión red de área amplia (WAN), como un ejemplo ilustrativo, no limitativo. En una implementación particular, la red central incluye o se corresponde con una red telefónica pública conmutada (PSTN), una red troncal de paquetes, o ambas.
[0244] La estación base 1200 puede incluir una pasarela de medios 1270 que está acoplada a la conexión de red 1260 y al procesador 1206. La pasarela de medios 1270 puede configurarse para convertir entre corrientes de medios de diferentes tecnologías de telecomunicaciones. Por ejemplo, la pasarela de medios 1270 puede convertir entre diferentes protocolos de transmisión, diferentes esquemas de codificación, o ambos. A modo ilustrativo, la pasarela de medios 1270 puede convertir de señales PCM a señales de Protocolo de transporte en tiempo real (RTP), como un ejemplo ilustrativo, no limitativo. La pasarela de medios 1270 puede convertir datos entre redes de paquetes conmutados (por ejemplo, una red de Protocolo de Voz sobre Internet (VoIP), un Subsistema Multimedia IP (IMS), una red inalámbrica de cuarta generación (4G), tal como LTE, WiMax y UMB, etc.), redes de circuitos conmutados (por ejemplo, una PSTN) y redes híbridas (por ejemplo, una red inalámbrica de segunda generación (2G), tal como GSM, GPRS y EDGe , una red inalámbrica de tercera generación (3G), tal como WCDMA, EV-DO y HSPA, etc.).
[0245] Adicionalmente, la pasarela de medios 1270 puede incluir un transcodificador, tal como el transcodificador 610, y puede configurarse para transcodificar datos cuando los códecs son incompatibles. Por ejemplo, la pasarela de medios 1270 puede transcodificar entre un códec adaptativo de velocidad múltiple (AMR) y un códec G.711, como un ejemplo ilustrativo, no limitativo. La pasarela de medios 1270 puede incluir un enrutador y una pluralidad de interfaces físicas. En una implementación particular, la pasarela de medios 1270 incluye un controlador (no mostrado). En una implementación particular, el controlador de la pasarela de medios es externo a la pasarela de medios 1270, externo a la estación base 1200, o a ambos. El controlador de la pasarela de medios puede controlar y coordinar operaciones de múltiples pasarelas de medios. La pasarela de medios 1270 puede recibir señales de control desde el controlador de la pasarela de medios y puede funcionar para conectar entre diferentes tecnologías de transmisión y puede agregar servicio a las capacidades y conexiones del usuario final.
[0246] La estación base 1200 puede incluir un desmodulador 1262 que está acoplado a los transceptores 1252, 1254, al procesador de datos del receptor 1264 y al procesador 1206, y el procesador de datos del receptor 1264 puede estar acoplado al procesador 1206. El desmodulador 1262 puede configurarse para desmodular señales moduladas recibidas desde los transceptores 1252, 1254 y para proporcionar datos desmodulados al procesador de datos del receptor 1264. El procesador de datos del receptor 1264 puede configurarse para extraer un mensaje o datos de audio de los datos desmodulados y enviar el mensaje o los datos de audio al procesador 1206.
[0247] La estación base 1200 puede incluir un procesador de transmisión de datos 1282 y un procesador de transmisión de entrada múltiple-salida múltiple (MIMO) 1284. El procesador de datos de transmisión 1282 puede estar acoplado al procesador 1206 y al procesador de MIMO de transmisión 1284. El procesador de MIMO de transmisión 1284 puede estar acoplado a los transceptores 1252, 1254 y al procesador 1206. En una implementación particular, el procesador de MIMO de transmisión 1284 está acoplado a la pasarela de medios 1270. El procesador de datos de transmisión 1282 puede configurarse para recibir los mensajes o los datos de audio del procesador 1206 y codificar los mensajes o los datos de audio basándose en un esquema de codificación, tal como CDMA o multiplexación por división de frecuencia ortogonal (OFDM), como ejemplos ilustrativos, no limitativos. El procesador de datos de transmisión 1282 puede proporcionar los datos codificados al procesador de MIMO de transmisión 1284.
[0248] Los datos codificados pueden multiplexarse con otros datos, tal como datos piloto, usando técnicas CDMA u OFDM para generar datos multiplexados. Los datos multiplexados pueden entonces ser modulados (es decir, asignados mediante símbolos) por el procesador de datos de transmisión 1282 basado en un esquema de modulación particular (por ejemplo, codificación de desplazamiento de fase binaria ("BPSK"), codificación de desplazamiento de fase en cuadratura ("QSPK"), modulación por desplazamiento de fase M-ary ("M-PSK"), modulación de amplitud de cuadratura M-ary ("M-QAM"), etc.) para generar símbolos de modulación. En una implementación particular, los datos codificados y otros datos se modulan usando diferentes esquemas de modulación. La velocidad de transferencia de datos, la codificación y la modulación para cada flujo de datos pueden determinarse mediante instrucciones ejecutadas por el procesador 1206.
[0249] El procesador de MIMO de transmisión 1284 puede configurarse para recibir los símbolos de modulación del procesador de datos de transmisión 1282 y puede procesar adicionalmente los símbolos de modulación y puede realizar la formación de haces en los datos. Por ejemplo, el procesador de MIMO de transmisión 1284 puede aplicar ponderaciones de formación de haz a los símbolos de modulación. Las ponderaciones de formación de haz pueden corresponder a una o más antenas del conjunto de antenas desde las cuales se transmiten los símbolos de modulación.
[0250] Durante el funcionamiento, la segunda antena 1244 de la estación base 1200 puede recibir un flujo de datos 1214. El segundo transceptor 1254 puede recibir el flujo de datos 1214 desde la segunda antena 1244 y puede proporcionar el flujo de datos 1214 al desmodulador 1262. El desmodulador 1262 puede desmodular señales moduladas del flujo de datos 1214 y proporcionar datos desmodulados al procesador de datos del receptor 1264. El procesador de datos del receptor 1264 puede extraer datos de audio de los datos desmodulados y proporcionar los datos de audio extraídos al procesador 1206.
[0251] El procesador 1206 puede proporcionar los datos de audio al transcodificador 1210 para la transcodificación. El descodificador 118 del transcodificador 1210 puede descodificar los datos de audio de un primer formato en datos de audio descodificados y el codificador 114 puede codificar los datos de audio descodificados en un segundo formato. En una implementación particular, el codificador 114 codifica los datos de audio usando una velocidad de datos más alta (por ejemplo, conversión ascendente) o una velocidad de datos más baja (por ejemplo, conversión descendente) que la recibida desde el dispositivo inalámbrico. En una implementación particular, los datos de audio no se transcodifican. Aunque la transcodificación (por ejemplo, descodificación y codificación) se ilustra como realizada por un transcodificador 1210, las operaciones de transcodificación (por ejemplo, descodificación y codificación) pueden realizarse por múltiples componentes de la estación base 1200. Por ejemplo, la descodificación puede ser realizada por el procesador de datos del receptor 1264 y la codificación puede ser realizada por el procesador de datos de transmisión 1282. En una implementación particular, el procesador 1206 proporciona los datos de audio a la pasarela de medios 1270 para la conversión a otro protocolo de transmisión, esquema de codificación, o ambos. La pasarela de medios 1270 puede proporcionar los datos convertidos a otra estación base o red central a través de la conexión de red 1260.
[0252] El descodificador 118 y el codificador 114 pueden determinar, trama por trama, el modo de IPD 156. El descodificador 118 y el codificador 114 pueden determinar los valores de IPD 161 que tienen la resolución 165 correspondiente al modo de IPD 156. Los datos de audio codificados generados en el codificador 114, tales como los datos transcodificados, pueden proporcionarse al procesador de datos de transmisión 1282 o a la conexión de red 1260 a través del procesador 1206.
[0253] Los datos de audio transcodificados del transcodificador 1210 pueden proporcionarse al procesador de datos de transmisión 1282 para codificar de acuerdo con un esquema de modulación, tal como OFDM, para generar los símbolos de modulación. El procesador de datos de transmisión 1282 puede proporcionar los símbolos de modulación al procesador de MIMO de transmisión 1284 para su posterior procesamiento y formación de haces. El procesador MIMO de transmisión de 1284 puede aplicar ponderaciones de conformación de haz y puede proporcionar los símbolos de modulación a una o más antenas del conjunto de antenas, tales como la primera antena 1242 a través del primer transceptor 1252. Por tanto, la estación base 1200 puede proporcionar un flujo de datos transcodificados 1216, que corresponde al flujo de datos 1214 recibido desde el dispositivo inalámbrico, a otro dispositivo inalámbrico. El flujo de datos transcodificados 1216 puede tener un formato de codificación, velocidad de datos o ambos diferentes, al flujo de datos 1214. En una implementación particular, el flujo de datos transcodificados 1216 se proporciona a la conexión de red 1260 para su transmisión a otra estación base o una red central.
[0254] Por lo tanto, la estación base 1200 puede incluir un dispositivo de almacenamiento legible por ordenador (por ejemplo, la memoria 1232) que almacena instrucciones que, cuando son ejecutadas por un procesador (por ejemplo, el procesador 1206 o el transcodificador 1210), hacen que el procesador realice operaciones que incluyen determinar una modo de diferencia de fase entre canales (IPD). Las operaciones también incluyen la determinación de valores de IPD que tienen una resolución correspondiente al modo de IPD.
[0255] Los expertos en la técnica apreciarían además que los diversos bloques lógicos, configuraciones, módulos, circuitos y pasos de algoritmo ilustrativos descritos en relación con los modos de realización divulgados en el presente documento pueden implementarse como hardware electrónico, software informático ejecutado por un dispositivo de procesamiento, tal como un procesador de hardware, o combinaciones de los mismos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y pasos ilustrativos, en general en términos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la solicitud en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de distintas formas para cada aplicación en particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0256] Los pasos de un procedimiento o algoritmo descrito en relación con los modos de realización divulgados en el presente documento se pueden realizar directamente en el hardware, en un módulo de software ejecutado por un procesador o en una combinación de ambos. Un módulo de software puede residir en un dispositivo de memoria, tal como RAM, MRAM, STT-MRAM, memoria flash, ROM, PROM, EPROM, EEPROM, registros, disco duro, un disco extraíble o un CD-ROM. Un dispositivo de memoria a modo de ejemplo está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un dispositivo informático o en un terminal de usuario. De forma alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o en un terminal de usuario.
[0257] La descripción anterior de las implementaciones divulgadas se proporciona para permitir que un experto en la técnica elabore o use las implementaciones divulgadas. Diversas modificaciones de estas implementaciones resultarán fácilmente evidentes para los expertos en la técnica, y los principios definidos en el presente documento se pueden aplicar a otras implementaciones sin apartarse del alcance de la invención como se define mediante las reivindicaciones adjuntas. Por tanto, la presente divulgación no está prevista para limitarse a las implementaciones mostradas en el presente documento, sino que se le ha de conceder el alcance más amplio posible compatible con los principios y los rasgos característicos novedosos como se define en las reivindicaciones siguientes.

Claims (15)

REIVINDICACIONES
1. Un dispositivo (104, 114) para procesar señales de audio que comprende:
un analizador de desajuste temporal entre canales (124) configurado para determinar un valor de desajuste temporal entre canales (163) indicativo de una desalineación temporal entre una primera señal de audio (130) y una segunda señal de audio (132);
un selector de modo de diferencia de fase entre canales, IPD, (108) configurado para seleccionar un modo de IPD (156, 465, 467) basado al menos en parte en si el valor de desajuste temporal entre canales (163) satisface un umbral de diferencia y si un valor de intensidad (150) asociado con el valor de desajuste temporal entre canales satisface un umbral de intensidad; y
un estimador de IPD (122) configurado para determinar los valores de IPD (161) basándose en la primera señal de audio (130) y la segunda señal de audio (132), teniendo los valores de IPD (161) una resolución (165, 456, 476) correspondiente al modo de IPD seleccionado (156, 465, 467).
2. El dispositivo (104, 114) según la reivindicación 1, en el que el analizador de desajuste temporal entre canales (124) está configurado además para generar una primera señal de audio alineada y una segunda señal de audio alineada ajustando al menos una de la primera señal de audio (130) o la segunda señal de audio (132) basándose en el valor de desajuste temporal entre canales (163), en el que la primera señal de audio alineada está alineada temporalmente con la segunda señal de audio alineada, y en el que los valores de IPD (161) se basan en la primera señal de audio alineada y la segunda señal de audio alineada.
3. El dispositivo (104, 114) según la reivindicación 2, en el que la primera señal de audio (130) o la segunda señal de audio (132) corresponde a un canal temporalmente retardado, y en el que ajustar al menos una de la primera señal de audio (130) o la segunda señal de audio (132) incluye un desplazamiento no causal del canal temporalmente retardado basándose en el valor de desajuste temporal entre canales (163).
4. El dispositivo (104, 114) según la reivindicación 1, en el que la resolución (165) correspondiente al modo de IPD seleccionado (156) es una resolución de cuantificación.
5. El dispositivo (104, 114) según la reivindicación 1, que comprende además:
un generador de señales de banda media (212) configurado para generar una señal de banda media en el dominio de la frecuencia (236) basada en la primera señal de audio (130), una segunda señal de audio ajustada y los valores de IPD (161), en el que el analizador de desajuste temporal entre canales (108) está configurado para generar la segunda señal de audio ajustada desplazando la segunda señal de audio (132) basándose en el valor de desajuste temporal entre canales (163);
un codificador de banda media (214) configurado para generar un flujo de bits de banda media (166) basado en la señal de banda media en el dominio de la frecuencia (236); y
un generador de flujo de bits de pistas estéreo (206) configurado para generar un flujo de bits de pistas estéreo (162) que indica los valores de IPD (161).
6. El dispositivo (104, 114) según la reivindicación 5, que comprende además:
un generador de señales de banda lateral (208) configurado para generar una señal de banda lateral en el dominio de la frecuencia (234) basándose en la primera señal de audio (130), la segunda señal de audio ajustada y los valores de IPD (161); y
un codificador de banda lateral (210) configurado para generar un flujo de bits de banda lateral (164) basado en la señal de banda lateral en el dominio de la frecuencia (234), la señal de banda media en el dominio de la frecuencia (236) y los valores de IPD (161).
7. El dispositivo (104, 114) según la reivindicación 6, que comprende además un transmisor (110) configurado para transmitir un flujo de bits que incluye el flujo de bits de banda media (166), el flujo de bits de pistas estéreo (162), el flujo de bits de banda lateral (164), o una combinación de los mismos.
8. El dispositivo (104, 114) según la reivindicación 1, en el que el modo de IPD (156) se selecciona entre un primer modo de IPD (465) o un segundo modo de IPD (467), en el que el primer modo de IPD (465) corresponde a una primera resolución (456), en el que el segundo modo de IPD (467) corresponde a una segunda resolución (476), en el que el primer modo de IPD (465) corresponde a los valores de IPD (161) que se basan en una primera señal de audio (130) y una segunda señal de audio (132), y en el que el segundo modo de IPD (467) corresponde a los valores de IPD (161) establecidos en cero.
9. El dispositivo (104, 114) según la reivindicación 1, en el que la resolución (165) corresponde a al menos uno de un rango de valores de fase, un recuento de los valores de IPD (161), un primer número de bits para representar los valores de IPD (161), un segundo número de bits para representar valores absolutos de los valores de IPD (161) en bandas, o un tercer número de bits para representar una cantidad de varianza temporal de los valores de IPD (161) a través de tramas.
10. El dispositivo (104, 114) según la reivindicación 1, en el que el selector de modo de IPD (108) está configurado además para seleccionar el modo de IPD (156) basándose al menos en parte en un tipo de codificador (169), una frecuencia de muestreo del núcleo o ambos.
11. El dispositivo (104, 114) según la reivindicación 1, que comprende además:
una antena; y
un transmisor (110) acoplado a la antena y configurado para transmitir un flujo de bits de pistas estéreo (162) que indica el modo de IPD (156) y los valores de IPD (161).
12. Un procedimiento (600) de procesamiento de señales de audio, que comprende:
determinar (602), en un dispositivo (104, 114), un valor de desajuste temporal entre canales (163) indicativo de una desalineación temporal entre una primera señal de audio (130) y una segunda señal de audio (132);
seleccionar (604), en el dispositivo (104, 114), un modo de diferencia de fase entre canales, IPD, (156, 465, 467) basado en si el valor de desajuste temporal entre canales (163) satisface un umbral de diferencia y si un valor de intensidad (150) asociado con el valor de desajuste temporal entre canales (163) satisface un umbral de intensidad; y
determinar (606), en el dispositivo (104, 114), valores de IPD (161) basados en la primera señal de audio (130) y la segunda señal de audio (132), teniendo los valores de IPD (161) una resolución (165, 456, 476) correspondiente al modo de IPD seleccionado (156, 465, 467).
13. El procedimiento (600) según la reivindicación 12, en el que el dispositivo (104, 114) selecciona un primer modo de IPD correspondiente a una primera resolución si el valor de desajuste temporal entre canales (163) satisface el umbral de diferencia y el valor de intensidad (150) asociado con el valor de desajuste temporal entre canales (163) satisface el umbral de intensidad.
14. El procedimiento (600) según la reivindicación 12, en el que el dispositivo (104, 114) selecciona un segundo modo de IPD correspondiente a una segunda resolución si el valor de desajuste temporal entre canales (163) no satisface el umbral de diferencia o el valor de intensidad (150) asociado con el valor de desajuste temporal entre canales (163) no satisface el umbral de intensidad.
15. Un dispositivo de almacenamiento legible por ordenador que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice operaciones, comprendiendo:
determinar un valor de desajuste temporal entre canales (163) indicativo de una desalineación temporal entre una primera señal de audio (130) y una segunda señal de audio (132);
seleccionar una diferencia de fase entre canales, modo de IPD (156, 465, 467) basado en si el valor de desajuste temporal entre canales (163) satisface un umbral de diferencia y si un valor de intensidad (150) asociado con el valor de desajuste temporal entre canales (163) satisface un umbral de intensidad; y
determinar los valores de IPD (161) basándose en la primera señal de audio (130) o la segunda señal de audio (132), teniendo los valores de IPD (161) una resolución (165, 456, 476) correspondiente al modo de IPD seleccionado (156, 465, 467).
ES17731782T 2016-06-20 2017-06-13 Codificación y descodificación de diferencias de fase entre canales entre señales de audio Active ES2823294T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662352481P 2016-06-20 2016-06-20
US15/620,695 US10217467B2 (en) 2016-06-20 2017-06-12 Encoding and decoding of interchannel phase differences between audio signals
PCT/US2017/037198 WO2017222871A1 (en) 2016-06-20 2017-06-13 Encoding and decoding of interchannel phase differences between audio signals

Publications (1)

Publication Number Publication Date
ES2823294T3 true ES2823294T3 (es) 2021-05-06

Family

ID=60659725

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17731782T Active ES2823294T3 (es) 2016-06-20 2017-06-13 Codificación y descodificación de diferencias de fase entre canales entre señales de audio

Country Status (10)

Country Link
US (3) US10217467B2 (es)
EP (1) EP3472833B1 (es)
JP (1) JP6976974B2 (es)
KR (1) KR102580989B1 (es)
CN (1) CN109313906B (es)
BR (1) BR112018075831A2 (es)
CA (1) CA3024146A1 (es)
ES (1) ES2823294T3 (es)
TW (1) TWI724184B (es)
WO (1) WO2017222871A1 (es)

Families Citing this family (13)

* 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
CN107452387B (zh) * 2016-05-31 2019-11-12 华为技术有限公司 一种声道间相位差参数的提取方法及装置
US10217467B2 (en) 2016-06-20 2019-02-26 Qualcomm Incorporated Encoding and decoding of interchannel phase differences between audio signals
CN108269577B (zh) 2016-12-30 2019-10-22 华为技术有限公司 立体声编码方法及立体声编码器
US10304468B2 (en) * 2017-03-20 2019-05-28 Qualcomm Incorporated Target sample generation
CN109215668B (zh) * 2017-06-30 2021-01-05 华为技术有限公司 一种声道间相位差参数的编码方法及装置
US10535357B2 (en) 2017-10-05 2020-01-14 Qualcomm Incorporated Encoding or decoding of audio signals
IT201800000555A1 (it) * 2018-01-04 2019-07-04 St Microelectronics Srl Architettura di decodifica di riga per un dispositivo di memoria non volatile a cambiamento di fase e relativo metodo di decodifica di riga
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
US10580424B2 (en) * 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
JP7416816B2 (ja) * 2019-03-06 2024-01-17 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ダウンミキサ及びダウンミックス方法
CN113259083B (zh) * 2021-07-13 2021-09-28 成都德芯数字科技股份有限公司 一种调频同步网相位同步方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050159942A1 (en) 2004-01-15 2005-07-21 Manoj Singhal Classification of speech and music using linear predictive coding coefficients
ES2438176T3 (es) * 2006-07-04 2014-01-16 Electronics And Telecommunications Research Institute Método para restablecer una señal de audio de múltiples canales usando un decodificador de HE-AAC y un decodificador de MPEG surround
CN102057424B (zh) * 2008-06-13 2015-06-17 诺基亚公司 用于经编码的音频数据的错误隐藏的方法和装置
EP2169665B1 (en) 2008-09-25 2018-05-02 LG Electronics Inc. A method and an apparatus for processing a signal
WO2010097748A1 (en) * 2009-02-27 2010-09-02 Koninklijke Philips Electronics N.V. Parametric stereo encoding and decoding
US8620672B2 (en) 2009-06-09 2013-12-31 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for phase-based processing of multichannel signal
RU2683175C2 (ru) * 2010-04-09 2019-03-26 Долби Интернешнл Аб Стереофоническое кодирование на основе mdct с комплексным предсказанием
CN103262159B (zh) 2010-10-05 2016-06-08 华为技术有限公司 用于对多声道音频信号进行编码/解码的方法和装置
JP2015517121A (ja) 2012-04-05 2015-06-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド インターチャネル差分推定方法及び空間オーディオ符号化装置
WO2013149670A1 (en) * 2012-04-05 2013-10-10 Huawei Technologies Co., Ltd. Method for parametric spatial audio coding and decoding, parametric spatial audio coder and parametric spatial audio decoder
BR112015028409B1 (pt) * 2013-05-16 2022-05-31 Koninklijke Philips N.V. Aparelho de áudio e método de processamento de áudio
EP2838086A1 (en) * 2013-07-22 2015-02-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. In an reduction of comb filter artifacts in multi-channel downmix with adaptive phase alignment
CN104681029B (zh) 2013-11-29 2018-06-05 华为技术有限公司 立体声相位参数的编码方法及装置
US9747910B2 (en) * 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
US10217467B2 (en) 2016-06-20 2019-02-26 Qualcomm Incorporated Encoding and decoding of interchannel phase differences between audio signals

Also Published As

Publication number Publication date
CN109313906A (zh) 2019-02-05
TW201802798A (zh) 2018-01-16
TWI724184B (zh) 2021-04-11
US10672406B2 (en) 2020-06-02
WO2017222871A1 (en) 2017-12-28
BR112018075831A2 (pt) 2019-03-19
US20190147893A1 (en) 2019-05-16
JP2019522233A (ja) 2019-08-08
US11127406B2 (en) 2021-09-21
EP3472833B1 (en) 2020-07-08
EP3472833A1 (en) 2019-04-24
KR20190026671A (ko) 2019-03-13
US10217467B2 (en) 2019-02-26
CN109313906B (zh) 2023-07-28
US20170365260A1 (en) 2017-12-21
US20200082833A1 (en) 2020-03-12
CA3024146A1 (en) 2017-12-28
JP6976974B2 (ja) 2021-12-08
KR102580989B1 (ko) 2023-09-21

Similar Documents

Publication Publication Date Title
ES2823294T3 (es) Codificación y descodificación de diferencias de fase entre canales entre señales de audio
ES2821676T3 (es) Codificación de múltiples señales de audio
TWI828480B (zh) 用於立體聲解碼之立體聲參數
TWI778073B (zh) 用於具有時域頻道間頻寬延展之高頻帶殘值預測的音訊信號寫碼裝置、方法、包含指令的非暫時性電腦可讀媒體及設備
KR102154461B1 (ko) 시간 도메인 채널간 예측
ES2843903T3 (es) Codificación de múltiples señales de audio
KR102581558B1 (ko) 채널간 위상차 파라미터 수정
KR102208602B1 (ko) 채널간 대역폭 확장
US10210874B2 (en) Multi channel coding