ES3069236T3 - Backward-compatible integration of high frequency reconstruction techniques for audio signals - Google Patents

Backward-compatible integration of high frequency reconstruction techniques for audio signals

Info

Publication number
ES3069236T3
ES3069236T3 ES25164868T ES25164868T ES3069236T3 ES 3069236 T3 ES3069236 T3 ES 3069236T3 ES 25164868 T ES25164868 T ES 25164868T ES 25164868 T ES25164868 T ES 25164868T ES 3069236 T3 ES3069236 T3 ES 3069236T3
Authority
ES
Spain
Prior art keywords
audio
bitstream
data
metadata
sbr
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
ES25164868T
Other languages
English (en)
Inventor
Kristofer Kjoerling
Lars Villemoes
Heiko Purnhagen
Per Ekstrand
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.)
Dolby International AB
Original Assignee
Dolby International AB
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 Dolby International AB filed Critical Dolby International AB
Application granted granted Critical
Publication of ES3069236T3 publication Critical patent/ES3069236T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G10—MUSICAL INSTRUMENTS; ACOUSTICS
    • G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038—Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • G—PHYSICS
    • G10—MUSICAL INSTRUMENTS; ACOUSTICS
    • G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G—PHYSICS
    • G10—MUSICAL INSTRUMENTS; ACOUSTICS
    • G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16—Vocoder architecture
    • G10L19/18—Vocoders using multiple modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Amplitude Modulation (AREA)

Abstract

Se describe un método para decodificar un flujo de bits de audio codificado. El método incluye recibir el flujo de bits de audio codificado y decodificar los datos de audio para generar una señal de audio de banda baja decodificada. El método también incluye extraer metadatos de reconstrucción de alta frecuencia y filtrar la señal de audio de banda baja decodificada con un banco de filtros de análisis para generar una señal de audio de banda baja filtrada. Asimismo, el método incluye extraer un indicador que señala si se debe realizar una traslación espectral o una transposición armónica sobre los datos de audio y regenerar una porción de banda alta de la señal de audio utilizando la señal de audio de banda baja filtrada y los metadatos de reconstrucción de alta frecuencia, de acuerdo con dicho indicador. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audioReferencia cruzada a la solicitud relacionada
[0003] Esta solicitud es una solicitud divisional europea de la solicitud de patente europea EP 23210525.4 (referencia: D17806EP07), para la cual se presentó el formulario 1001 de la EPO el 17 de noviembre de 2023.
[0004] Campo técnico
[0005] Las realizaciones se refieren a un método y a una unidad de procesamiento de audio para realizar la reconstrucción de alta frecuencia de una señal de audio.
[0006] Antecedentes de la invención
[0007] Un flujo de bits de audio típico incluye tanto datos de audio (por ejemplo, datos de audio codificados) indicativos de uno o más canales de contenido de audio, como metadatos indicativos de al menos una característica de los datos de audio o contenido de audio. Un formato bien conocido para generar un flujo de bits de audio codificado es el formato de codificación de audio avanzado (AAC) MPEG-4, descrito en la norma MPEG ISO/IEC 14496-3:2009. En el estándar MPEG-4, AAC denota "codificación de audio avanzada" y HE-AAC denota "codificación de audio avanzada de alta eficiencia".
[0008] El estándar AAC MPEG-4 define varios perfiles de audio, que determinan qué objetos y herramientas de codificación están presentes en un codificador o decodificador de quejas. Tres de estos perfiles de audio son (1) el perfil AAC, (2) el perfil HE-AAC y (3) el perfil HE-AAC v2. El perfil AAC incluye el tipo de objeto AAC de baja complejidad (o "AAC-LC"). El objeto AAC-LC es el homólogo del perfil de baja complejidad AAC MPEG-2, con algunos ajustes, y no incluye ni el tipo de objeto de replicación de banda espectral ("SBR") ni el tipo de objeto estéreo paramétrico ("PS"). El perfil HE-AAC es un superconjunto del perfil AAC y, además, incluye el tipo de objeto SBR. El perfil HE-AAC v2 es un superconjunto del perfil HE-AAC y, además, incluye el tipo de objeto PS.
[0009] El tipo de objeto SBR contiene la herramienta de replicación de banda espectral, que es una importante herramienta de codificación de reconstrucción de alta frecuencia ("HFR") que mejora significativamente la eficiencia de compresión de los códecs de audio perceptuales. SBR reconstruye los componentes de alta frecuencia de una señal de audio en el lado del receptor (por ejemplo, en el decodificador). Por lo tanto, el codificador solo necesita codificar y transmitir componentes de baja frecuencia, lo que permite una calidad de audio mucho mayor a bajas velocidades de datos. SBR se basa en la replicación de las secuencias de armónicos, previamente truncadas con el fin de reducir la velocidad de datos, a partir de la señal limitada de ancho de banda disponible y los datos de control obtenidos del codificador. La relación entre los componentes tonales y similares a ruido se mantiene mediante filtrado inverso adaptativo, así como la adición opcional de ruido y sinusoidales. En el estándar AAC MPEG-4, la herramienta de SBR realiza parcheo espectral (también llamado traslación lineal o traslación espectral), en donde se copia (o "parchea") una serie de subbandas consecutivas de filtro de espejo en cuadratura (QMF) desde una parte de banda baja transmitida de una señal de audio a una parte de banda alta de la señal de audio, que se genera en el decodificador.
[0010] El parcheo espectral o la traslación lineal pueden no ser ideales para ciertos tipos de audio, como el contenido musical con frecuencias de cruce relativamente bajas. Por tanto, se necesitan técnicas para mejorar la replicación de la banda espectral.
[0011] El documento WO2016149015A1 se refiere a una unidad de procesamiento de audio que incluye una memoria intermedia, un desformateador de carga útil de flujo de bits y un subsistema de decodificación. La memoria intermedia almacena al menos un bloque de un flujo de bits de audio codificado. El bloque incluye un elemento de relleno que comienza con un identificador seguido de datos de relleno. Los datos de relleno incluyen al menos un indicador que identifica si el procesamiento de replicación de banda espectral mejorada (eSBR) se va a realizar en el contenido de audio del bloque. También se proporciona un método correspondiente para decodificar un flujo de bits de audio codificado.
[0012] Breve descripción detallada de realizaciones de la invención
[0013] La presente divulgación proporciona un método como se detalla en la reivindicación 1. También se proporciona un medio legible por ordenador no transitorio según la reivindicación 6 y una unidad de procesamiento de audio según la reivindicación 7. Las características ventajosas se proporcionan en las reivindicaciones dependientes.
[0014] Breve descripción de los dibujos
[0015] La figura 1 es un diagrama de bloques de una realización de un sistema que puede configurarse para realizar una realización del método de la invención.
[0016] La figura 2 es un diagrama de bloques de un codificador que es una realización de la unidad de procesamiento de audio de la invención.
[0017] La figura 3 es un diagrama de bloques de un sistema que incluye un decodificador que es una realización de la unidad de procesamiento de audio de la invención, y opcionalmente también un posprocesador acoplado a la misma.
[0018] La figura 4 es un diagrama de bloques de un decodificador que es una realización de la unidad de procesamiento de audio de la invención.
[0019] La figura 5 es un diagrama de bloques de un decodificador que es otra realización de la unidad de procesamiento de audio de la invención.
[0020] La figura 6 es un diagrama de bloques de otra realización de la unidad de procesamiento de audio de la invención. La figura 7 es un diagrama de un bloque de un flujo de bits AAC MPEG-4, que incluye segmentos en los que se divide.
[0021] Notación y nomenclatura
[0022] A lo largo de esta divulgación, incluso en las reivindicaciones, la expresión que realiza una operación "en" una señal o datos (por ejemplo, filtrado, escalado, transformación o aplicación de ganancia a la señal o datos) se usa en un sentido amplio para denotar la realización de la operación directamente en la señal o datos, o en una versión procesada de la señal o datos (por ejemplo, en una versión de la señal que se ha sometido a filtrado o preprocesamiento preliminar antes de la realización de la operación en la misma).
[0023] A lo largo de esta divulgación, incluso en las reivindicaciones, la expresión "unidad de procesamiento de audio" o "procesador de audio" se usa en un sentido amplio, para indicar un sistema, dispositivo o aparato, configurado para procesar datos de audio. Ejemplos de unidades de procesamiento de audio incluyen, pero no se limitan a, codificadores, transcodificadores, decodificadores, códecs, sistemas de preprocesamiento, sistemas de posprocesamiento y sistemas de procesamiento de flujo de bits (a veces denominados herramientas de procesamiento de flujo de bits). Prácticamente todos los productos electrónicos de consumo, tales como teléfonos móviles, televisores, ordenadores portátiles y tabletas, contienen una unidad de procesamiento de audio o procesador de audio.
[0024] A lo largo de esta divulgación, incluso en las reivindicaciones, el término “acopla” o “acoplado” se usa en un sentido amplio para significar una conexión directa o indirecta. Por lo tanto, si un primer dispositivo se acopla a un segundo dispositivo, esa conexión puede ser a través de una conexión directa, o a través de una conexión indirecta a través de otros dispositivos y conexiones. Además, los componentes que están integrados en o con otros componentes también están acoplados entre sí.
[0025] Descripción detallada de las realizaciones de la invención
[0026] El estándar AAC MPEG-4 contempla que un flujo de bits AAC MPEG-4 codificado incluye metadatos indicativos de cada tipo de procesamiento de reconstrucción de alta frecuencia ("HFR") que va a aplicarse (si va a aplicarse alguno) por un decodificador para decodificar contenido de audio del flujo de bits, y/o que controla tal procesamiento de HFR, y/o es indicativo de al menos una característica o parámetro de al menos una herramienta de HFR que va a emplearse para decodificar contenido de audio del flujo de bits. En el presente documento, se usa la expresión "metadatos de SBR" para indicar metadatos de este tipo que se describen o mencionan en el estándar AAC MPEG-4 para su uso con replicación de banda espectral ("SBR"). Como apreciará un experto en la técnica, SBR es una forma de HFR.
[0027] SBR se usa preferiblemente como un sistema de doble velocidad, funcionando el códec subyacente a la mitad de la velocidad de muestreo original, mientras que SBR funciona a la velocidad de muestreo original. El codificador de SBR funciona en paralelo con el códec de núcleo subyacente, aunque a una velocidad de muestreo más alta. Aunque SBR es principalmente un proceso posterior en el decodificador, se extraen parámetros importantes en el codificador con el fin de garantizar la reconstrucción de alta frecuencia más precisa en el decodificador. El codificador estima la envolvente espectral del rango de SBR para un rango/resolución de tiempo y frecuencia adecuado para las características de los segmentos de señal de entrada actuales. La envolvente espectral se estima mediante un análisis QMF complejo y un cálculo de energía posterior. Las resoluciones de tiempo y frecuencia de las envolventes espectrales se pueden elegir con un alto nivel de libertad, con el fin de garantizar la resolución de tiempo-frecuencia más adecuada para el segmento de entrada dado. La estimación de envolvente debe considerar que un transitorio en el original, situado principalmente en la región de alta frecuencia (por ejemplo, un sombrero alto), estará presente en menor medida en la banda alta generada por SBR antes del ajuste de envolvente, ya que la banda alta en el decodificador se basa en la banda baja donde el transitorio es mucho menos pronunciado en comparación con la banda alta. Este aspecto impone diferentes requisitos para la resolución de frecuencia de tiempo de los datos de envolvente espectral, en comparación con la estimación de envolvente espectral ordinaria como se usa en otros algoritmos de codificación de audio.
[0029] Además de la envolvente espectral, se extraen varios parámetros adicionales que representan las características espectrales de la señal de entrada para diferentes regiones de tiempo y frecuencia. Dado que el codificador naturalmente tiene acceso a la señal original, así como a información sobre cómo la unidad de SBR en el decodificador creará la banda alta, dado el conjunto específico de parámetros de control, es posible que el sistema maneje situaciones en las que la banda baja constituye una serie armónica fuerte y la banda alta, que se recreará, constituye principalmente componentes de señal aleatorios, así como situaciones en las que los componentes tonales fuertes están presentes en la banda alta original sin homólogos en la banda baja, en la que se basa la región de banda alta. Además, el codificador de SBR trabaja en estrecha relación con el códec de núcleo subyacente para evaluar qué rango de frecuencia debe ser cubierto por SBR en un momento dado. Los datos de SBR se codifican de manera eficiente antes de la transmisión aprovechando la codificación de entropía, así como las dependencias de canal de los datos de control, en el caso de señales estéreo.
[0031] Los algoritmos de extracción de parámetros de control normalmente necesitan ajustarse cuidadosamente al códec subyacente a una tasa de bits dada y una tasa de muestreo dada. Esto se debe al hecho de que una tasa de bits más baja, generalmente implica un rango de SBR más grande en comparación con una tasa de bits alta, y diferentes tasas de muestreo corresponden a diferentes resoluciones de tiempo de las tramas de SBR.
[0033] Un decodificador de SBR generalmente incluye varias partes diferentes. Comprende un módulo de decodificación de flujo de bits, un módulo de reconstrucción de alta frecuencia (HFR), un módulo de componentes de alta frecuencia adicional y un módulo de ajuste de envolvente. El sistema se basa en un banco de filtros QMF de valor complejo (para SBR de alta calidad) o un banco de filtros QMF de valor real (para SBR de baja potencia). Las realizaciones de la invención son aplicables tanto a SBR de alta calidad como a SBR de baja potencia. En el módulo de extracción de flujo de bits, los datos de control se leen desde el flujo de bits y se decodifican. La cuadrícula de tiempo-frecuencia se obtiene para la trama actual, antes de leer los datos de envolvente del flujo de bits. El decodificador de núcleo subyacente decodifica la señal de audio de la trama actual (aunque a la tasa de muestreo más baja) para producir muestras de audio en el dominio de tiempo. La trama resultante de los datos de audio se utiliza para la reconstrucción de alta frecuencia por el módulo de HFR. A continuación, se analiza la señal de banda baja decodificada usando un banco de filtros de QMF. La reconstrucción de alta frecuencia y el ajuste de envolvente se realizan posteriormente en las muestras de subbanda del banco de filtros de QMF. Las altas frecuencias se reconstruyen a partir de la banda baja de forma flexible, basándose en los parámetros de control dados. Además, la banda alta reconstruida se filtra de forma adaptativa sobre una base de canal de subbanda según los datos de control para garantizar las características espectrales apropiadas de la región de tiempo/frecuencia dada.
[0035] El nivel superior de un flujo de bits AAC MPEG-4 es una secuencia de bloques de datos (elementos "raw_data_block"), cada uno de los cuales es un segmento de datos (en el presente documento denominado "bloque") que contiene datos de audio (normalmente durante un periodo de tiempo de 1024 o 960 muestras) e información relacionada y/u otros datos. En el presente documento, se usa el término "bloque" para indicar un segmento de un flujo de bits AAC MPEG-4 que comprende datos de audio (y metadatos correspondientes y opcionalmente también otros datos relacionados) que determina o es indicativo de un (pero no más de uno) elemento "raw_data_block".
[0037] Cada bloque de un flujo de bits AAC MPEG-4 puede incluir una serie de elementos sintácticos (cada uno de los cuales también se materializa en el flujo de bits como un segmento de datos). Siete tipos de tales elementos sintácticos se definen en el estándar AAC MPEG-4. Cada elemento sintáctico se identifica mediante un valor diferente del elemento de datos "id_syn_ele". Los ejemplos de elementos sintácticos incluyen un "single_channel_element()", un "channel_pair_element()" y un "fill_element()". Un elemento de un solo canal es un contenedor que incluye datos de audio de un solo canal de audio (una señal de audio monofónica). Un elemento de par de canales incluye datos de audio de dos canales de audio (es decir, una señal de audio estéreo).
[0039] Un elemento de relleno es un contenedor de información que incluye un identificador (por ejemplo, el valor del elemento "id_syn_ele" mencionado anteriormente) seguido de datos, que se denominan "datos de relleno". Los elementos de relleno se han utilizado históricamente para ajustar la tasa de bits instantánea de los flujos de bits que se van a transmitir a través de un canal de velocidad constante. Al añadir la cantidad apropiada de datos de relleno a cada bloque, puede conseguirse una velocidad de datos constante.
[0041] Según la invención, los datos de relleno incluyen una o más cargas útiles de extensión que extienden el tipo de datos (por ejemplo, metadatos) que pueden transmitirse en un flujo de bits. Un decodificador que recibe flujos de bits con datos de relleno que contienen un nuevo tipo de datos puede usarse opcionalmente por un dispositivo que recibe el flujo de bits (por ejemplo, un decodificador) para extender la funcionalidad del dispositivo. Por lo tanto, como puede apreciar un experto en la técnica, los elementos de relleno son un tipo especial de estructura de datos y son diferentes de las estructuras de datos típicamente utilizadas para transmitir datos de audio (por ejemplo, cargas útiles de audio que contienen datos de canal).
[0042] En algunas realizaciones de la invención, el identificador utilizado para identificar un elemento de relleno puede consistir en un número entero sin signo de tres bits transmitido primero en el bit más significativo ("uimsbf") que tiene un valor de 0x6. En un bloque, pueden ocurrir varias instancias del mismo tipo de elemento sintáctico (por ejemplo, varios elementos de relleno).
[0043] Otro estándar para codificar flujos de bits de audio es el estándar de codificación de audio y voz unificado (USAC) MPEG (ISO/IEC 23003-3:2012). El estándar USAC MPEG describe la codificación y decodificación de contenido de audio usando procesamiento de replicación de banda espectral (incluyendo procesamiento SBR tal como se describe en el estándar AAC MPEG-4, y que también incluye otras formas mejoradas de procesamiento de replicación de banda espectral). Este procesamiento aplica herramientas de replicación de banda espectral (a veces denominadas en el presente documento "herramientas de SBR mejoradas" o "herramientas de eSBR") de una versión ampliada y mejorada del conjunto de herramientas de SBR descritas en el estándar AAC MPEG-4. Por lo tanto, eSBR (tal como se define en el estándar USAC) es una mejora de SBR (tal como se define en el estándar AAC MPEG-4).
[0044] En el presente documento, se usa la expresión "procesamiento de SBR mejorado" (o "procesamiento de eSBR") para indicar el procesamiento de replicación de banda espectral usando al menos una herramienta de eSBR (por ejemplo, al menos una herramienta de eSBR que se describe o menciona en el estándar USAC MPEG) que no se describe o menciona en el estándar AAC MPEG-4. Ejemplos de tales herramientas de eSBR son la transposición armónica y el preprocesamiento o "preaplanamiento" adicional de parcheo de QMF.
[0045] Un transponedor armónico de orden entero T mapea una sinusoide con frecuencia ω en una sinusoide con frecuencia Tω, al tiempo que conserva la duración de la señal. Por lo general, se utilizan tres órdenes, T = 2, 3, 4, en secuencia para producir cada parte del rango de frecuencia de salida deseado utilizando el orden de transposición más pequeño posible. Si se requiere una salida por encima del rango de transposición de cuarto orden, puede generarse por cambios de frecuencia. Cuando es posible, se crean dominios de tiempo de banda base casi críticamente muestreados para el procesamiento para minimizar la complejidad computacional.
[0046] El transponedor armónico puede estar basado en QMF o DFT. Cuando se utiliza el transponedor armónico basado en QMF, la extensión de ancho de banda de la señal de dominio de tiempo del codificador de núcleo se lleva a cabo completamente en el dominio de QMF, utilizando una estructura de vocodificador de fase modificada, realizando el diezmado seguido de un estiramiento de tiempo para cada subbanda de QMF. La transposición usando varios factores de transposición (por ejemplo, T = 2, 3, 4) se lleva a cabo en una etapa de transformación de síntesis/análisis de QMF común. Dado que el transponedor armónico basado en QMF no presenta sobremuestreo de dominio de frecuencia adaptativo de señal, el indicador correspondiente en el flujo de bits (sbrOversamplingFlag[ch]) puede ignorarse.
[0047] Cuando se utiliza el transponedor armónico basado en DFT, los transponedores de factor 3 y 4 (transponedores de tercer y cuarto orden) se integran preferiblemente en el transponedor de factor 2 (transponedor de segundo orden) por medio de interpolación para reducir la complejidad. Para cada trama (correspondiente a muestras de codificador de núcleo coreCoderFrameLength), el tamaño de transformada de "tamaño completo" nominal del transponedor se determina primero por el indicador de sobremuestreo de dominio de frecuencia adaptativo de señal (sbrOversamplingFlag[ch]) en el flujo de bits.
[0048] Cuando sbrPatchingMode==1, que indica que se va a utilizar la transposición lineal para generar la banda alta, se introduce una etapa adicional para evitar discontinuidades en la forma de la envolvente espectral de la señal de alta frecuencia que se introduce en el ajustador de envolvente posterior. Esto mejora el funcionamiento de la etapa de ajuste de envolvente posterior, dando como resultado una señal de banda alta que se percibe como más estable. La operación del preprocesamiento adicional es beneficiosa para los tipos de señal donde la envolvente espectral gruesa de la señal de banda baja que se utiliza para la reconstrucción de alta frecuencia muestra grandes variaciones de nivel. Sin embargo, el valor del elemento de flujo de bits puede determinarse en el codificador aplicando cualquier tipo de clasificación dependiente de señal. El preprocesamiento adicional se activa a través de un elemento de flujo de bits de un bit, bs_sbr_preprocessing. Cuando bs_sbr_preprocessing se establece a uno, se habilita el procesamiento adicional. Cuando bs_sbr_preprocessing se establece a cero, se deshabilita el preprocesamiento adicional. El procesamiento adicional preferible utiliza una curva de preganancia que se usa por el generador de alta frecuencia para escalar la banda baja, X<baja>, para cada parche. Por ejemplo, la curva de preganancia puede calcularse según:
[0050]
[0052] en donde k<0>es la primera subbanda de QMF en la tabla de bandas de frecuencia maestra ylowEnvSlopese calcula usando una función que calcula los coeficientes de un polinomio de mejor ajuste (en un sentido de mínimos cuadrados), como polyfit(). Por ejemplo,
[0054]
[0056] puede emplearse (usando un polinomio de tercer grado) y en donde
[0059]
[0061] en donde x_lowband (k)=[0... k<0>-1], numTimeSlot es el número de intervalos de tiempo de envolvente de SBR que existen dentro de una trama, VELOCIDAD es una constante que indica el número de muestras de subbanda de QMF por intervalo de tiempo (por ejemplo, 2), φ<k>es un coeficiente de filtro de predicción lineal (posiblemente obtenido del método de covarianza) y en donde
[0064]
[0066] Un flujo de bits generado según el estándar USAC MPEG (a veces denominado en el presente documento "flujo de bits de USAC") incluye contenido de audio codificado y normalmente incluye metadatos indicativos de cada tipo de procesamiento de replicación de banda espectral que va a aplicarse mediante un decodificador para decodificar contenido de audio del flujo de bits de USAC, y/o metadatos que controlan tal procesamiento de replicación de banda espectral y/o es indicativo de al menos una característica o parámetro de al menos una herramienta de SBR y/o herramienta de eSBR que va a emplearse para decodificar contenido de audio del flujo de bits de USAC. En el presente documento, se usa la expresión "metadatos de SBR mejorados" (o "metadatos de eSBR") para indicar metadatos indicativos de cada tipo de procesamiento de replicación de banda espectral que va a aplicar un decodificador para decodificar contenido de audio de un flujo de bits de audio codificado (por ejemplo, un flujo de bits de USAC) y/o que controla tal procesamiento de replicación de banda espectral, y/o es indicativo de al menos una característica o parámetro de al menos una herramienta de SBR y/o herramienta de eSBR que va a emplearse para decodificar tal contenido de audio, pero que no se describe ni se menciona en el estándar AAC MPEG-4. Un ejemplo de metadatos de eSBR son los metadatos (indicativos de, o para controlar, el procesamiento de replicación de banda espectral) que se describen o mencionan en el estándar USAC MPEG pero no en el estándar AAC MPEG-4. Por lo tanto, los metadatos de eSBR en el presente documento indican metadatos que no son metadatos de SBR, y los metadatos de SBR en el presente documento indican metadatos que no son metadatos de eSBR. Un flujo de bits de USAC puede incluir tanto metadatos de SBR como metadatos de eSBR. Más específicamente, un flujo de bits de USAC puede incluir metadatos de eSBR que controlan el rendimiento del procesamiento de eSBR por un decodificador, y metadatos de SBR que controlan el rendimiento del procesamiento de SBR por el decodificador. Según realizaciones típicas de la presente invención, los metadatos de eSBR (por ejemplo, datos de configuración específicos de eSBR) se incluyen (según la presente invención) en un flujo de bits AAC MPEG-4 (por ejemplo, en el contenedor sbr_extension() al final de una carga útil de SBR).
[0067] El rendimiento del procesamiento de eSBR, durante la decodificación de un flujo de bits codificado usando un conjunto de herramientas de eSBR (que comprende al menos una herramienta de eSBR), mediante un decodificador regenera la banda de alta frecuencia de la señal de audio, basándose en la replicación de secuencias de armónicos que se truncaron durante la codificación. Dicho procesamiento de eSBR típicamente ajusta la envolvente espectral de la banda de alta frecuencia generada y aplica filtrado inverso, y añade ruido y componentes sinusoidales con el fin de recrear las características espectrales de la señal de audio original.
[0068] Según realizaciones típicas de la invención, se incluyen metadatos de eSBR (por ejemplo, se incluye un pequeño número de bits de control que son metadatos de eSBR) en uno o más segmentos de metadatos de un flujo de bits de audio codificado (por ejemplo, un flujo de bits AAC MPEG-4) que también incluye datos de audio codificados en otros segmentos (segmentos de datos de audio). Normalmente, al menos uno de dichos segmentos de metadatos de cada bloque del flujo de bits es (o incluye) un elemento de relleno (que incluye un identificador que indica el inicio del elemento de relleno), y los metadatos de eSBR se incluyen en el elemento de relleno después del identificador.
[0069] La figura 1 es un diagrama de bloques de una cadena de procesamiento de audio a modo de ejemplo (un sistema de procesamiento de datos de audio), en el que uno o más de los elementos del sistema pueden configurarse según una realización de la presente invención. El sistema incluye los siguientes elementos, acoplados entre sí como se muestra: codificador 1, subsistema de suministro 2, decodificador 3 y unidad de posprocesamiento 4. En variaciones en el sistema mostrado, se omiten uno o más de los elementos, o se incluyen unidades de procesamiento de datos de audio adicionales.
[0070] En algunas implementaciones, el codificador 1 (que opcionalmente incluye una unidad de preprocesamiento) está configurado para aceptar muestras de PCM (dominio de tiempo) que comprenden contenido de audio como entrada, y para emitir un flujo de bits de audio codificado (que tiene un formato que cumple con el estándar AAC MPEG-4) que es indicativo del contenido de audio. Los datos del flujo de bits que son indicativos del contenido de audio a veces se denominan en el presente documento "datos de audio" o "datos de audio codificados". Si el codificador está configurado según una realización típica de la presente invención, el flujo de bits de audio emitido desde el codificador incluye metadatos de eSBR (y normalmente también otros metadatos) así como datos de audio.
[0071] Uno o más flujos de bits de audio codificados emitidos desde el codificador 1 pueden afirmarse al subsistema de suministro de audio codificado 2. El subsistema 2 está configurado para almacenar y/o entregar cada salida de flujo de bits codificada del codificador 1. Una salida de flujo de bits de audio codificada del codificador 1 puede almacenarse por el subsistema 2 (por ejemplo, en forma de un disco DVD o Blu-ray), o transmitirse por el subsistema 2 (que puede implementar un enlace o red de transmisión), o puede almacenarse y transmitirse por el subsistema 2.
[0072] El decodificador 3 está configurado para decodificar un flujo de bits de audio AAC MPEG-4 codificado (generado por el codificador 1) que recibe a través del subsistema 2. En algunas realizaciones, el decodificador 3 está configurado para extraer metadatos de eSBR de cada bloque del flujo de bits, y para decodificar el flujo de bits (que incluye realizar procesamiento de eSBR usando los metadatos de eSBR extraídos) para generar datos de audio decodificados (por ejemplo, flujos de muestras de audio de PCM decodificadas). En algunas realizaciones, el decodificador 3 está configurado para extraer metadatos de SBR del flujo de bits (pero para ignorar metadatos de eSBR incluidos en el flujo de bits), y para decodificar el flujo de bits (incluyendo realizar el procesamiento de SBR usando los metadatos de SBR extraídos) para generar datos de audio decodificados (por ejemplo, flujos de muestras de audio de PCM decodificadas). Típicamente, el decodificador 3 incluye una memoria intermedia que almacena (por ejemplo, de manera no transitoria) segmentos del flujo de bits de audio codificado recibido desde el subsistema 2.
[0073] La unidad de posprocesamiento 4 de la figura 1 está configurada para aceptar un flujo de datos de audio decodificados del decodificador 3 (por ejemplo, muestras de audio de PCM decodificadas) y para realizar un posprocesamiento en el mismo. La unidad de posprocesamiento también puede configurarse para reproducir el contenido de audio posprocesado (o el audio decodificado recibido del decodificador 3) para su reproducción por uno o más altavoces.
[0074] La figura 2 es un diagrama de bloques de un codificador (100) que es una realización de la unidad de procesamiento de audio de la invención. Cualquiera de los componentes o elementos del codificador 100 puede implementarse como uno o más procesos y/o uno o más circuitos (por ejemplo, ASIC, FPGA u otros circuitos integrados), en hardware, software o una combinación de hardware y software. El codificador 100 incluye el codificador 105, la etapa de relleno/formateado 107, la etapa de generación de metadatos 106 y la memoria intermedia 109, conectados como se muestra. Típicamente también, el codificador 100 incluye otros elementos de procesamiento (no se muestran). El codificador 100 está configurado para convertir un flujo de bits de audio de entrada en un flujo de bits AAC MPEG-4 de salida codificado.
[0075] El generador de metadatos 106 está acoplado y configurado para generar (y/o pasar a través de la etapa 107) metadatos (incluidos los metadatos de eSBR y los metadatos de SBR) que se incluirán en la etapa 107 en el flujo de bits codificado que se emitirá desde el codificador 100.
[0076] El codificador 105 está acoplado y configurado para codificar (por ejemplo, mediante la realización de compresión en el mismo) los datos de audio de entrada, y para afirmar el audio codificado resultante a la etapa 107 para su inclusión en el flujo de bits codificado que se emitirá desde la etapa 107.
[0077] La etapa 107 está configurada para multiplexar el audio codificado del codificador 105 y los metadatos (incluidos los metadatos de eSBR y los metadatos de SBR) del generador 106 para generar el flujo de bits codificado que se emitirá desde la etapa 107, preferiblemente para que el flujo de bits codificado tenga el formato especificado por una de las realizaciones de la presente invención.
[0078] La memoria intermedia 109 está configurada para almacenar (por ejemplo, de manera no transitoria) al menos un bloque del flujo de bits de audio codificado emitido desde la etapa 107, y una secuencia de los bloques del flujo de bits de audio codificado se afirma a continuación desde la memoria intermedia 109 como salida desde el codificador 100 a un sistema de suministro.
[0079] La figura 3 es un diagrama de bloques de un sistema que incluye un decodificador (200) que es una realización de la unidad de procesamiento de audio de la invención, y opcionalmente también un posprocesador (300) acoplado al mismo. Cualquiera de los componentes o elementos del decodificador 200 y el posprocesador 300 puede implementarse como uno o más procesos y/o uno o más circuitos (por ejemplo, ASIC, FPGA u otros circuitos integrados), en hardware, software o una combinación de hardware y software. El decodificador 200 comprende la memoria intermedia 201, el desformateador de carga útil de flujo de bits (analizador) 205, el subsistema de decodificación de audio 202 (algunas veces denominado etapa de decodificación de “núcleo” o subsistema de decodificación de “núcleo”), la etapa de procesamiento de eSBR 203 y la etapa de generación de bits de control 204, conectados como se muestra. Típicamente también, el decodificador 200 incluye otros elementos de procesamiento (no mostrados).
[0081] La memoria intermedia (búfer) 201 almacena (por ejemplo, de manera no transitoria) al menos un bloque de un flujo de bits de audio AAC MPEG-4 codificado recibido por el decodificador 200. En el funcionamiento del decodificador 200, se afirma una secuencia de los bloques del flujo de bits desde el búfer 201 al desformateador 205.
[0083] En variaciones de la realización de la figura 3 (o la realización de la figura 4 que se describirá), una APU que no es un decodificador (por ejemplo, APU 500 de la figura 6) incluye una memoria intermedia (por ejemplo, una memoria intermedia idéntica al búfer 201) que almacena (por ejemplo, de manera no transitoria) al menos un bloque de un flujo de bits de audio codificado (por ejemplo, un flujo de bits de audio AAC MPEG-4) del mismo tipo recibido por el búfer 201 de la figura 3 o la figura 4 (es decir, un flujo de bits de audio codificado que incluye metadatos de eSBR).
[0085] Haciendo referencia de nuevo a la figura 3, el desformateador 205 está acoplado y configurado para demultiplexar cada bloque del flujo de bits para extraer metadatos de SBR (incluyendo datos de envolvente cuantificados) y metadatos de eSBR (y típicamente también otros metadatos) de los mismos, para afirmar al menos los metadatos de eSBR y los metadatos de SBR a la etapa de procesamiento de eSBR 203, y típicamente también para afirmar otros metadatos extraídos al subsistema de decodificación 202 (y opcionalmente también para controlar el generador de bits 204). El formateador 205 también está acoplado y configurado para extraer datos de audio de cada bloque del flujo de bits, y para afirmar los datos de audio extraídos al subsistema de decodificación (etapa de decodificación) 202.
[0087] El sistema de la figura 3 también incluye opcionalmente un posprocesador 300. El posprocesador 300 incluye una memoria intermedia (búfer) 301 y otros elementos de procesamiento (no se muestran) que incluyen al menos un elemento de procesamiento acoplado al búfer 301. El búfer 301 almacena (por ejemplo, de manera no transitoria) al menos un bloque (o trama) de los datos de audio decodificados recibidos por el posprocesador 300 desde el decodificador 200. Los elementos de procesamiento del posprocesador 300 están acoplados y configurados para recibir y procesar de manera adaptativa una secuencia de los bloques (o tramas) de la salida de audio decodificada del búfer 301, usando metadatos emitidos desde el subsistema de decodificación 202 (y/o el desformateador 205) y/o bits de control emitidos desde la etapa 204 del decodificador 200.
[0089] El subsistema de decodificación de audio 202 del decodificador 200 está configurado para decodificar los datos de audio extraídos por el analizador 205 (dicha decodificación puede denominarse operación de decodificación "de núcleo") para generar datos de audio decodificados y para afirmar los datos de audio decodificados a la etapa de procesamiento de eSBR 203. La decodificación se realiza en el dominio de frecuencia y típicamente incluye cuantificación inversa seguida de procesamiento espectral. Normalmente, una etapa final de procesamiento en el subsistema 202 aplica una transformada de dominio de frecuencia a dominio de tiempo a los datos de audio de dominio de frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio de tiempo. La etapa 203 está configurada para aplicar herramientas de SBR y herramientas de eSBR indicadas por los metadatos de eSBR y la eSBR (extraída por el analizador 205) a los datos de audio decodificados (es decir, para realizar procesamiento de SBR y eSBR en la salida del subsistema de decodificación 202 usando los metadatos de SBR y eSBR) para generar los datos de audio completamente decodificados que se emiten (por ejemplo, al posprocesador 300) desde el decodificador 200. Típicamente, el decodificador 200 incluye una memoria (accesible por el subsistema 202 y la etapa 203) que almacena los datos de audio y metadatos desformateados emitidos desde el desformateador 205, y la etapa 203 está configurada para acceder a los datos de audio y metadatos (incluyendo metadatos de SBR y metadatos de eSBR) según sea necesario durante el procesamiento de SBR y eSBR. El procesamiento de SBR y el procesamiento de eSBR en la etapa 203 pueden considerarse como posprocesamiento en la salida del subsistema de decodificación de núcleo 202. Opcionalmente, el decodificador 200 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas ("PS") definidas en el estándar AAC MPEG-4, utilizando metadatos de PS extraídos por el desformateador 205 y/o bits de control generados en el subsistema 204) que está acoplado y configurado para realizar la mezcla ascendente en la salida de la etapa 203 para generar audio completamente decodificado y mezclado de manera ascendente que se emite desde el decodificador 200. De manera alternativa, el posprocesador 300 está configurado para realizar una mezcla ascendente en la salida del decodificador 200 (por ejemplo, usando metadatos de PS extraídos por el desformateador 205 y/o bits de control generados en el subsistema 204).
[0091] En respuesta a los metadatos extraídos por el desformateador 205, el generador de bits de control 204 puede generar datos de control, y los datos de control pueden usarse dentro del decodificador 200 (por ejemplo, en un subsistema de mezcla ascendente final) y/o afirmarse como salida del decodificador 200 (por ejemplo, al posprocesador 300 para su uso en el posprocesamiento). En respuesta a los metadatos extraídos del flujo de bits de entrada (y opcionalmente también en respuesta a los datos de control), la etapa 204 puede generar (y afirmar al posprocesador 300) bits de control que indican que los datos de audio decodificados emitidos desde la etapa de procesamiento de eSBR 203 deben someterse a un tipo específico de posprocesamiento. En algunas implementaciones, el decodificador 200 está configurado para afirmar los metadatos extraídos por el desformateador 205 del flujo de bits de entrada al posprocesador 300, y el posprocesador 300 está configurado para realizar el posprocesamiento en la salida de datos de audio decodificados del decodificador 200 usando los metadatos.
[0093] La figura 4 es un diagrama de bloques de una unidad de procesamiento de audio ("APU") (210) que es otra realización de la unidad de procesamiento de audio de la invención. La APU 210 es un decodificador heredado que no está configurado para realizar el procesamiento de eSBR. Cualquiera de los componentes o elementos de la APU 210 puede implementarse como uno o más procesos y/o uno o más circuitos (por ejemplo, ASIC, FPGA u otros circuitos integrados), en hardware, software o una combinación de hardware y software. La APU 210 comprende una memoria intermedia 201, un desformateador (analizador) de carga útil de flujo de bits 215, un subsistema de decodificación de audio 202 (a veces denominado etapa de decodificación de "núcleo" o subsistema de decodificación de "núcleo") y una etapa de procesamiento de SBR 213, conectados como se muestra. Típicamente también, la APU 210 incluye otros elementos de procesamiento (no se muestran). La APU 210 puede representar, por ejemplo, un codificador, decodificador o transcodificador de audio.
[0095] Los elementos 201 y 202 de la APU 210 son idénticos a los elementos numerados de forma idéntica del decodificador 200 (de la figura 3) y no se repetirá la descripción anterior de los mismos. En el funcionamiento de la APU 210, una secuencia de bloques de un flujo de bits de audio codificado (un flujo de bits AAC MPEG-4) recibido por la APU 210 se afirma del búfer 201 al desformateador 215.
[0097] El formateador 215 está acoplado y configurado para demultiplexar cada bloque del flujo de bits para extraer metadatos de SBR (incluidos los datos de envolvente cuantificados) y típicamente también otros metadatos de los mismos, pero para ignorar los metadatos de eSBR que pueden incluirse en el flujo de bits según cualquier realización de la presente invención. El formateador 215 está configurado para afirmar al menos los metadatos de SBR a la etapa de procesamiento SBR 213. El formateador 215 también está acoplado y configurado para extraer datos de audio de cada bloque del flujo de bits, y para afirmar los datos de audio extraídos al subsistema de decodificación (etapa de decodificación) 202.
[0099] El subsistema de decodificación de audio 202 del decodificador 200 está configurado para decodificar los datos de audio extraídos por el desformateador 215 (dicha decodificación puede denominarse operación de decodificación "de núcleo") para generar datos de audio decodificados y para afirmar los datos de audio decodificados a la etapa de procesamiento de SBR 213. La decodificación se realiza en el dominio de frecuencia. Normalmente, una etapa final de procesamiento en el subsistema 202 aplica una transformada de dominio de frecuencia a dominio de tiempo a los datos de audio de dominio de frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio de tiempo. La etapa 213 está configurada para aplicar herramientas de SBR (pero no herramientas de eSBR) indicadas por los metadatos de SBR (extraídos por el desformateador 215) a los datos de audio decodificados (es decir, para realizar el procesamiento de SBR en la salida del subsistema de decodificación 202 usando los metadatos de SBR) para generar los datos de audio completamente decodificados que se emiten (por ejemplo, al posprocesador 300) desde la APU 210. Típicamente, la APU 210 incluye una memoria (accesible por el subsistema 202 y la etapa 213) que almacena los datos de audio y metadatos desformateados emitidos desde el desformateador 215, y la etapa 213 está configurada para acceder a los datos de audio y metadatos (incluidos los metadatos de SBR) según sea necesario durante el procesamiento de SBR. El procesamiento de SBR en la etapa 213 puede considerarse como posprocesamiento en la salida del subsistema de decodificación de núcleo 202. Opcionalmente, la APU 210 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas ("PS") definidas en el estándar AAC MPEG-4, utilizando metadatos de PS extraídos por el desformateador 215) que está acoplado y configurado para realizar una mezcla ascendente en la salida de la etapa 213 para generar audio completamente decodificado y mezclado de manera ascendente que se emite desde la APU 210. Alternativamente, un posprocesador está configurado para realizar una mezcla ascendente a la salida de la APU 210 (por ejemplo, usando metadatos de PS extraídos por el desformateador 215 y/o bits de control generados en la APU 210).
[0101] Varias implementaciones del codificador 100, el decodificador 200 y la APU 210 están configuradas para realizar diferentes realizaciones del método de la invención.
[0103] Según algunas realizaciones, se incluyen metadatos de eSBR (por ejemplo, se incluye un pequeño número de bits de control que son metadatos de eSBR) en un flujo de bits de audio codificado (por ejemplo, un flujo de bits AAC MPEG-4), de manera que los decodificadores heredados (que no están configurados para analizar sintácticamente los metadatos de eSBR, o para usar cualquier herramienta de eSBR a la que pertenezcan los metadatos de eSBR) pueden ignorar los metadatos de eSBR pero sin embargo decodificar el flujo de bits en la medida de lo posible sin el uso de los metadatos de eSBR o cualquier herramienta de eSBR a la que pertenezcan los metadatos de eSBR, típicamente sin ninguna penalización significativa en la calidad de audio decodificado. Sin embargo, los decodificadores de eSBR configurados para analizar sintácticamente el flujo de bits para identificar los metadatos de eSBR y para usar al menos una herramienta de eSBR en respuesta a los metadatos de eSBR, disfrutarán de los beneficios de usar al menos una de tales herramientas de eSBR. Por lo tanto, las realizaciones de la invención proporcionan medios para transmitir eficientemente datos o metadatos de control de replicación de banda espectral mejorada (eSBR) de una manera retrocompatible.
[0104] Normalmente, los metadatos de eSBR en el flujo de bits son indicativos de (por ejemplo, son indicativos de al menos una característica o parámetro de) una o más de las siguientes herramientas de eSBR (que se describen en el estándar USAC MPEG, y que pueden o no haber sido aplicadas por un codificador durante la generación del flujo de bits):
[0105] • Transposición armónica; y
[0106] • Preprocesamiento adicional de parcheado de QMF(preaplanamiento).
[0107] Por ejemplo, los metadatos de eSBR incluidos en el flujo de bits pueden ser indicativos de valores de los parámetros (descritos en el estándar USAC MPEG y en la presente divulgación): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch] y bs_sbr_preprocessing.
[0108] En el presente documento, la notación X[ch], en donde X es algún parámetro, denota que el parámetro pertenece al canal ("ch") del contenido de audio de un flujo de bits codificado a decodificar. Para simplificar, a veces se omite la expresión [ch] y se asume que el parámetro relevante pertenece a un canal de contenido de audio.
[0109] En el presente documento, la notación X[ch][env], en donde X es algún parámetro, denota que el parámetro pertenece a la envolvente de SBR ("env") del canal ("ch") del contenido de audio de un flujo de bits codificado a decodificar. Para simplificar, a veces se omiten las expresiones [env] y [ch], y se asume que el parámetro relevante pertenece a una envolvente de SBR de un canal de contenido de audio.
[0110] Durante la decodificación de un flujo de bits codificado, la realización de la transposición armónica durante una etapa de procesamiento de eSBR de la decodificación (para cada canal, "ch", del contenido de audio indicado por el flujo de bits) se controla por los siguientes parámetros de metadatos de eSBR: sbrPatchingMode[ch]: sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; y sbrPitchinBins[ch].
[0111] El valor "sbrPatchingMode[ch]" indica el tipo de transponedor utilizado en eSBR: sbrPatchingMode[ch] = 1 indica parcheo de transposición lineal como se describe en la Sección 4.6.18 del estándar AAC MPEG-4 (como se usa con SBR de alta calidad o SBR de baja potencia); sbrPatchingMode[ch] = 0 indica parcheo de SBR armónico como se describe en la Sección 7.5.3 o 7.5.4 del estándar USAC MPEG.
[0112] El valor "sbrOversamplingFlag[ch]" indica el uso de sobremuestreo de dominio de frecuencia adaptativo de señal en eSBR en combinación con el parcheo de SBR armónico basado en DFT como se describe en la Sección 7.5.3 del estándar USAC MPEG. Este indicador controla el tamaño de DFT que se utilizan en el transponedor: 1 indica el sobremuestreo de dominio de frecuencia adaptativo de señal habilitado como se describe en la Sección 7.5.3.1 del estándar USAC MPEG; 0 indica el sobremuestreo de dominio de frecuencia adaptativo de señal deshabilitado como se describe en la Sección 7.5.3.1 del estándar USAC MPEG.
[0113] El valor "sbrPitchInBinsFlag[ch]" controla la interpretación del parámetro sbrPitchInBins[ch]: 1 indica que el valor en sbrPitchInBins[ch] es válido y mayor que cero; 0 indica que el valor de sbrPitchInBins[ch] se establece a cero. El valor "sbrPitchInBins[ch]" controla la adición de términos de productos cruzados en el transponedor de armónicos de SBR. El valor sbrPitchinBins[ch] es un valor entero en el intervalo [0,127] y representa la distancia medida en intervalos de frecuencia para una DFT de 1536 líneas que actúa sobre la frecuencia de muestreo del codificador de núcleo.
[0114] En el caso de que un flujo de bits AAC MPEG-4 sea indicativo de un par de canales de SBR cuyos canales no están acoplados (en lugar de un único canal de SBR), el flujo de bits es indicativo de dos instancias de la sintaxis anterior (para transposición armónica o no armónica), una para cada canal del sbr_channel_pair_element(). La transposición armónica de la herramienta de eSBR normalmente mejora la calidad de las señales musicales decodificadas a frecuencias de cruce relativamente bajas. La transposición no armónica (es decir, parches espectrales heredados) normalmente mejora las señales de voz. Por lo tanto, un punto de partida en la decisión sobre qué tipo de transposición es preferible para codificar contenido de audio específico es seleccionar el método de transposición dependiendo de la detección de voz/música con transposición armónica que se empleará en el contenido musical y el parche espectral en el contenido de velocidad.
[0115] El rendimiento del preaplanamiento durante el procesamiento de eSBR se controla mediante el valor de un parámetro de metadatos de eSBR de un bit conocido como "bs_sbr_preprocessing", en el sentido de que el preaplanamiento se realiza o no se realiza dependiendo del valor de este único bit. Cuando se utiliza el algoritmo de parcheo SBR QMF, como se describe en la Sección 4.6.18.6.3 del estándar AAC MPEG-4, se puede realizar la etapa de preaplanamiento (cuando se indica mediante el parámetro "bs_sbr_preprocessing") en un esfuerzo por evitar discontinuidades en la forma de la envolvente espectral de una señal de alta frecuencia que se introduce en un ajustador de envolvente posterior (el ajustador de envolvente realiza otra etapa del procesamiento de eSBR). El preaplanamiento normalmente mejora el funcionamiento de la etapa de ajuste de envolvente posterior, dando como resultado una señal de banda alta que se percibe como más estable.
[0116] Se espera que el requisito general de velocidad de bits para incluir en un flujo de bits AAC MPEG-4 metadatos de eSBR indicativos de las herramientas de eSBR mencionadas anteriormente (transposición armónica y preaplanamiento) sea del orden de unos pocos cientos de bits por segundo porque solo se transmiten los datos de control diferencial necesarios para realizar el procesamiento de eSBR según algunas realizaciones de la invención. Los decodificadores heredados pueden ignorar esta información porque se incluye de una manera retrocompatible (como se explicará más adelante). Por lo tanto, el efecto perjudicial sobre la velocidad de bits asociada con la inclusión de metadatos de eSBR es insignificante, por una serie de razones, entre las que se incluyen las siguientes:
[0117] • La penalización de velocidad de bits (debido a la inclusión de los metadatos de eSBR) es una fracción muy pequeña de la velocidad de bits total porque solo se transmiten los datos de control diferencial necesarios para realizar el procesamiento de eSBR (y no una transmisión simultánea de los datos de control de SBR); y
[0118] • El ajuste de la información de control relacionada con SBR normalmente no depende de los detalles de la transposición. Ejemplos de cuándo los datos de control dependen de la operación del transponedor se analizan más adelante en esta solicitud.
[0119] Por lo tanto, las realizaciones de la invención proporcionan medios para transmitir eficientemente datos o metadatos de control de replicación de banda espectral mejorada (eSBR) de una manera retrocompatible. Esta transmisión eficiente de los datos de control de eSBR reduce los requisitos de memoria en decodificadores, codificadores y transcodificadores que emplean aspectos de la invención, mientras que no tiene ningún efecto adverso tangible en la tasa de bits. Además, la complejidad y los requisitos de procesamiento asociados con la realización de eSBR según las realizaciones de la invención también se reducen porque los datos de SBR deben procesarse solo una vez y no en transmisión simultánea, lo que sería el caso si eSBR se tratara como un tipo de objeto completamente independiente en AAC MPEG-4 en lugar de integrarse en el códec AAC MPEG-4 de una manera retrocompatible.
[0120] A continuación, con referencia a la figura 7, se describen elementos de un bloque ("raw_data_block") de un flujo de bits AAC MPEG-4 en el que se incluyen metadatos eSBR según algunas realizaciones de la presente invención. La figura 7 es un diagrama de un bloque (un "raw_data_block") del flujo de bits AAC MPEG-4, que muestra algunos de los segmentos del mismo.
[0121] Un bloque de un flujo de bits AAC MPEG-4 puede incluir al menos un "single_channel_element()" (por ejemplo, el elemento de canal único mostrado en la figura 7), y/o al menos un "channel_pair_element()" (no mostrado específicamente en la figura 7 aunque puede estar presente), que incluyen datos de audio para un programa de audio. El bloque también puede incluir una serie de "fill_elements" (por ejemplo, elemento de relleno 1 y/o elemento de relleno 2 de la figura 7) que incluyen datos (por ejemplo, metadatos) relacionados con el programa. Cada "single_channel_element()" incluye un identificador (por ejemplo, "ID1" de la figura 7) que indica el inicio de un elemento de canal único, y puede incluir datos de audio indicativos de un canal diferente de un programa de audio multicanal. Cada "channel_pair_element" incluye un identificador (no mostrado en la figura 7) que indica el inicio de un elemento de par de canales, y puede incluir datos de audio indicativos de dos canales del programa. Un fill_element (denominado en el presente documento elemento de relleno) de un flujo de bits AAC MPEG-4 incluye un identificador ("ID2" de la figura 7) que indica el inicio de un elemento de relleno, y datos de relleno después del identificador. El identificador ID2 consiste en un número entero sin signo de tres bits transmitido primero el bit más significativo ("uimsbf") que tiene un valor de 0x6. Los datos de relleno incluyen un elemento extension_payload() (a veces denominado en el presente documento carga útil de extensión) cuya sintaxis se muestra en la tabla 4.57 del estándar AAC MPEG-4. Existen varios tipos de cargas útiles de extensión y se identifican a través del parámetro "extension_type", que es un número entero sin signo de cuatro bits transmitido primero el bit más significativo ("uimsbf").
[0122] Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) incluyen un encabezado o identificador (por ejemplo, "encabezado1" de la figura 7) que indica un segmento de datos de relleno que es indicativo de un objeto de SBR (es decir, el encabezado inicializa un tipo de "objeto de SBR", denominado sbr_extension_data() en el estándar AAC MPEG-4). Una carga útil de extensión de replicación de banda espectral (SBR) se identifica con el valor de '1101' o '1110' para el campo extension_type en el encabezado, con el identificador '1101' identificando una carga útil de extensión con datos SBR y '1110' identificando una carga útil de extensión con datos de SBR con una comprobación de redundancia cíclica (CRC) para verificar la corrección de los datos de SBR.
[0123] Cuando el encabezado (por ejemplo, el campo extension_type) inicializa un tipo de objeto de SBR, los metadatos de SBR (a veces denominados en el presente documento "datos de replicación de banda espectral" y denominados sbr_data() en el estándar AAC MPEG-4) siguen el encabezado, y al menos un elemento de extensión de replicación de banda espectral (por ejemplo, el "elemento de extensión de SBR" del elemento de relleno 1 de la figura 7) puede seguir los metadatos de SBR. Dicho elemento de extensión de replicación de banda espectral (un segmento del flujo de bits) se denomina contenedor "sbr_extension()" en el estándar AAC MPEG-4. Un elemento de extensión de replicación de banda espectral incluye opcionalmente un encabezado (por ejemplo, "encabezado de extensión de SBR" del elemento de relleno 1 de la figura 7).
[0125] El estándar AAC MPEG-4 contempla que un elemento de extensión de replicación de banda espectral puede incluir datos de PS (estéreo paramétrico) para datos de audio de un programa. El estándar AAC MPEG-4 contempla que cuando el encabezado de un elemento de relleno (por ejemplo, de una carga útil de extensión del mismo) inicializa un tipo de objeto de SBR (como lo hace "encabezado1" de la figura 7) y un elemento de extensión de replicación de banda espectral del elemento de relleno incluye datos de PS, el elemento de relleno (por ejemplo, la carga útil de extensión del mismo) incluye datos de replicación de banda espectral y un parámetro "bs_extension_id" cuyo valor (es decir, bs_extension_id = 2) indica que los datos de PS están incluidos en un elemento de extensión de replicación de banda espectral del elemento de relleno.
[0127] Según algunas realizaciones de la presente invención, los metadatos de eSBR (por ejemplo, un indicador que indica si el procesamiento de replicación de banda espectral mejorada (eSBR) debe realizarse en contenido de audio del bloque) se incluyen en un elemento de extensión de replicación de banda espectral de un elemento de relleno. Por ejemplo, dicho indicador se indica en el elemento de relleno 1 de la figura 7, donde el indicador se produce después del encabezado (el "encabezado de extensión de SBR" del elemento de relleno 1) del "elemento de extensión de SBR" del elemento de relleno 1. Opcionalmente, dicho indicador y metadatos de eSBR adicionales se incluyen en un elemento de extensión de replicación de banda espectral después del encabezado del elemento de extensión de replicación de banda espectral (por ejemplo, en el elemento de extensión de SBR del elemento de relleno 1 en la figura 7, después del encabezado de extensión de SBR). Según algunas realizaciones de la presente invención, un elemento de relleno que incluye metadatos de eSBR también incluye un parámetro "bs_extension_id" cuyo valor (por ejemplo, bs_extension_id = 3) indica que los metadatos de eSBR están incluidos en el elemento de relleno y que el procesamiento de eSBR debe realizarse en contenido de audio del bloque relevante.
[0129] Según algunas realizaciones de la invención, los metadatos de eSBR se incluyen en un elemento de relleno (por ejemplo, el elemento de relleno 2 de la figura 7) de un flujo de bits AAC MPEG-4 distinto de un elemento de extensión de replicación de banda espectral (elemento de extensión de SBR) del elemento de relleno. Esto se debe a que los elementos de relleno que contienen una extension_payload() con datos de SBR o datos de SBR con CRC no contienen ninguna otra carga útil de extensión de ningún otro tipo de extensión. Por lo tanto, en realizaciones donde los metadatos de eSBR se almacenan con su propia carga útil de extensión, se usa un elemento de relleno independiente para almacenar los metadatos de eSBR. Dicho elemento de relleno incluye un identificador (por ejemplo, "ID2" de la figura 7) que indica el inicio de un elemento de relleno, y datos de relleno después del identificador. Los datos de relleno pueden incluir un elemento extension_payload() (a veces denominado en el presente documento carga útil de extensión) cuya sintaxis se muestra en la tabla 4.57 del estándar AAC MPEG-4. Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) incluyen un encabezado (por ejemplo, "encabezado2" del elemento de relleno 2 de la figura 7) que es indicativo de un objeto de eSBR (es decir, el encabezado inicializa un tipo de objeto de replicación de banda espectral mejorada (eSBR)), y los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) incluyen metadatos de eSBR después del encabezado. Por ejemplo, el elemento de relleno 2 de la figura 7 incluye dicho encabezado ("encabezado2") y también incluye, después del encabezado, metadatos de eSBR (es decir, el "indicador" en el elemento de relleno 2, que es indicativo de si el procesamiento de replicación de banda espectral mejorada (eSBR) debe realizarse en el contenido de audio del bloque). Opcionalmente, también se incluyen metadatos de eSBR adicionales en los datos de llenado del elemento de relleno 2 de la figura 7, después del encabezado2. En las realizaciones que se describen en el presente párrafo, el encabezado (por ejemplo, encabezado2 de la figura 7) tiene un valor de identificación que no es uno de los valores convencionales especificados en la tabla 4.57 del estándar AAC MPEG-4, y en su lugar es indicativo de una carga útil de extensión de eSBR (de modo que el campo extension_type del encabezado indica que los datos de relleno incluyen metadatos de eSBR).
[0131] En una primera clase de realizaciones, la invención es una unidad de procesamiento de audio (por ejemplo, un decodificador), que comprende:
[0133] una memoria (por ejemplo, el búfer 201 de la figura 3 o 4) configurada para almacenar al menos un bloque de un flujo de bits de audio codificado (por ejemplo, al menos un bloque de un flujo de bits AAC MPEG-4);
[0135] un desformateador de carga útil de flujo de bits (por ejemplo, el elemento 205 de la figura 3 o el elemento 215 de la figura 4) acoplado a la memoria y configurado para demultiplexar al menos una parte de dicho bloque del flujo de bits; y
[0136] un subsistema de decodificación (por ejemplo, los elementos 202 y 203 de la figura 3, o los elementos 202 y 213 de la figura 4), acoplado y configurado para decodificar al menos una parte del contenido de audio de dicho bloque del flujo de bits, en el que el bloque incluye:
[0137] un elemento de relleno, que incluye un identificador que indica un inicio del elemento de relleno (por ejemplo, el identificador "id_syn_ele" que tiene un valor 0x6, de la tabla 4.85 del estándar AAC MPEG-4), y datos de relleno después del identificador, en donde los datos de relleno incluyen:
[0138] al menos un indicador que identifica si el procesamiento de replicación de banda espectral mejorada (eSBR) debe realizarse en el contenido de audio del bloque (por ejemplo, usando datos de replicación de banda espectral y metadatos de eSBR incluidos en el bloque).
[0139] El indicador son metadatos de eSBR, y un ejemplo del indicador es el indicador sbrPatchingMode. Otro ejemplo del indicador es el indicador harmonicSBR. Ambos indicadores indican si se debe realizar una forma base de replicación de banda espectral o una forma mejorada de replicación espectral en los datos de audio del bloque. La forma base de replicación espectral es el parcheo espectral, y la forma mejorada de replicación de banda espectral es la transposición armónica.
[0140] En algunas realizaciones, los datos de relleno también incluyen metadatos de eSBR adicionales (es decir, metadatos de eSBR distintos del indicador).
[0141] La memoria puede ser una memoria intermedia (por ejemplo, una implementación del búfer 201 de la figura 4) que almacena (por ejemplo, de manera no transitoria) el al menos un bloque del flujo de bits de audio codificado. Se estima que la complejidad del rendimiento del procesamiento de eSBR (utilizando la transposición armónica de eSBR y el preaplanamiento) por un decodificador de eSBR durante la decodificación de un flujo de bits AAC MPEG-4 que incluye metadatos de eSBR (indicativos de estas herramientas de eSBR) sería la siguiente (para la decodificación típica con los parámetros indicados):
[0142] • Transposición armónica (16 kbps, 14400/28800 Hz)
[0143] ∘ Basado en DFT: 3.68 WMOPS (millones de operaciones ponderadas por segundo);
[0144] ∘ Basado en QMF: 0.98 WMOPS;
[0145] • Preprocesamiento de parcheo QMF (preaplanamiento): 0.1WMOPS.
[0146] Se conoce que la transposición basada en DFT generalmente funciona mejor que la transposición basada en QMF para transitorios.
[0147] Según algunas realizaciones de la presente invención, un elemento de relleno (de un flujo de bits de audio codificado) que incluye metadatos de eSBR también incluye un parámetro (por ejemplo, un parámetro "bs_extension_id") cuyo valor (por ejemplo, bs_extension_id = 3) señala que los metadatos de eSBR están incluidos en el elemento de relleno y que el procesamiento de eSBR debe realizarse en contenido de audio del bloque relevante, y/o un parámetro (por ejemplo, el mismo parámetro "bs_extension_id") cuyo valor (por ejemplo, bs_extension_id = 2) señala que un contenedor de sbr_extension() del elemento de relleno incluye datos de PS. Por ejemplo, tal como se indica en la tabla 1 a continuación, tal parámetro que tiene el valor bs_extension_id = 2 puede indicar que un contenedor sbr_extension() del elemento de relleno incluye datos de PS, y tal parámetro que tiene el valor bs_extension_id = 3 puede indicar que un contenedor sbr_extension() del elemento de relleno incluye metadatos de eSBR:
[0148] Tabla 1
[0151]
[0154] Según algunas realizaciones de la invención, la sintaxis de cada elemento de extensión de replicación de banda espectral que incluye metadatos de eSBR y/o datos de PS es tal como se indica en la tabla 2 a continuación (en la que "sbr_extension()" indica un contenedor que es el elemento de extensión de replicación de banda espectral, "bs_extension_id" es tal como se describió en la tabla 1 anterior, "ps_data" indica datos de PS y "esbr_data" indica metadatos de eSBR):
[0155] Tabla 2
[0158]
[0160] En una realización a modo de ejemplo, esbr_data() al que se hace referencia en la tabla 2 anterior es indicativo de valores de los siguientes parámetros de metadatos:
[0161] 1. el parámetro de metadatos de un bit, "bs_sbr_preprocessing"; y
[0162] 2. para cada canal ("ch") de contenido de audio del flujo de bits codificado a decodificar, cada uno de los parámetros descritos anteriormente: "sbrPatchingMode[ch]"; "sbrOversamplingFlag[ch]"; "sbrPitchInBinsFlag[ch]"; y "sbrPitchInBins[ch]".
[0163] Por ejemplo, en algunas realizaciones, esbr_data() puede tener la sintaxis indicada en la tabla 3, para indicar estos parámetros de metadatos:
[0164] Tabla 3
[0166]
[0167]
[0170] La sintaxis anterior permite una implementación eficiente de una forma mejorada de replicación de banda espectral, tal como transposición armónica, como una extensión de un decodificador heredado. Específicamente, los datos de eSBR de la tabla 3 incluyen solo aquellos parámetros necesarios para realizar la forma mejorada de replicación de banda espectral que no están ya soportados en el flujo de bits o directamente derivables de parámetros ya soportados en el flujo de bits. Todos los demás parámetros y datos de procesamiento necesarios para realizar la forma mejorada de replicación de banda espectral se extraen de parámetros preexistentes en ubicaciones ya definidas en el flujo de bits.
[0172] Por ejemplo, un decodificador compatible con MPEG-4 HE-AAC o HE-AAC v2 puede ampliarse para incluir una forma mejorada de replicación de banda espectral, tal como transposición armónica. Esta forma mejorada de replicación de banda espectral es adicional a la forma base de replicación de banda espectral ya soportada por el decodificador. En el contexto de un decodificador compatible con MPEG-4 HE-AAC o HE-AAC v2, esta forma base de replicación de banda espectral es la herramienta de SBR de parcheo espectral de QMF como se define en la Sección 4.6.18 del estándar AAC MPEG-4.
[0174] Cuando se realiza la forma mejorada de replicación de banda espectral, un decodificador HE-AAC ampliado puede reutilizar muchos de los parámetros de flujo de bits ya incluidos en la carga útil de extensión de SBR del flujo de bits. Los parámetros específicos que pueden reutilizarse incluyen, por ejemplo, los diversos parámetros que determinan la tabla de banda de frecuencia maestra. Estos parámetros incluyen bs_start_freq (parámetro que determina el inicio del parámetro de la tabla de frecuencias maestra), bs_stop_freq (parámetro que determina la parada de la tabla de frecuencias maestra), bs_freq_scale (parámetro que determina el número de bandas de frecuencia por octava) y bs_alter_scale (parámetro que altera la escala de las bandas de frecuencia). Los parámetros que pueden reutilizarse también incluyen parámetros que determinan la tabla de bandas de ruido (bs_noise_bands) y los parámetros de la tabla de bandas limitadoras (bs_limitter_bands). Por consiguiente, en diversas realizaciones, al menos algunos de los parámetros equivalentes especificados en el estándar USAC se omiten del flujo de bits, reduciendo así la sobrecarga de control en el flujo de bits. Normalmente, cuando un parámetro especificado en el estándar AAC tiene un parámetro equivalente especificado en el estándar USAC, el parámetro equivalente especificado en el estándar USAC tiene el mismo nombre que el parámetro especificado en el estándar AAC, por ejemplo, el factor de escala de envolvente E<OrigMapped>. Sin embargo, el parámetro equivalente especificado en el estándar USAC generalmente tiene un valor diferente, que se "ajusta" para el procesamiento de SBR mejorado definido en el estándar USAC en lugar del procesamiento de SBR definido en el estándar AAC.
[0176] Con el fin de mejorar la calidad subjetiva del contenido de audio con estructura de frecuencia armónica y características tonales fuertes, en particular a bajas velocidades de bits, se recomienda la activación de SBR mejorada. Los valores del elemento de flujo de bits correspondiente (es decir, esbr_data()), que controlan estas herramientas, pueden determinarse en el codificador aplicando un mecanismo de clasificación dependiente de señal. En general, el uso del método de parcheo armónico (sbrPatchingMode = = 1) es preferible para codificar señales de música a velocidades de bits muy bajas, donde el códec de núcleo puede estar considerablemente limitado en ancho de banda de audio. Esto es especialmente cierto si estas señales incluyen una estructura armónica pronunciada. Por el contrario, se prefiere el uso del método de parcheo de SBR regular para señales de voz y mixtas, ya que proporciona un mejor mantenimiento de la estructura temporal en la voz.
[0178] Con el fin de mejorar el rendimiento del transponedor de armónicos, se puede activar una etapa de preprocesamiento (bs_sbr_preprocessing == 1) que se esfuerza por evitar la introducción de discontinuidades espectrales de la señal que entra en el ajustador de envolvente posterior. El funcionamiento de la herramienta es beneficioso para los tipos de señal en los que la envolvente espectral gruesa de la señal de banda baja que se utiliza para la reconstrucción de alta frecuencia muestra grandes variaciones de nivel.
[0180] Con el fin de mejorar la respuesta transitoria del parche de SBR armónico, se puede aplicar un sobremuestreo de dominio de frecuencia adaptativo de señal (sbrOversamplingFlag= = 1). Dado que el sobremuestreo de dominio de frecuencia adaptativo de señal aumenta la complejidad computacional del transponedor, pero solo aporta beneficios para las tramas que contienen transitorios, el uso de esta herramienta está controlado por el elemento de flujo de bits, que se transmite una vez por trama y por canal de SBR independiente.
[0182] Un decodificador que funciona en el modo de SBR mejorado propuesto típicamente necesita ser capaz de cambiar entre parcheo de SBR heredado y mejorado. Por lo tanto, se puede introducir un retardo que puede ser tan largo como la duración de una trama de audio de núcleo, dependiendo de la configuración del decodificador. Normalmente, el retardo tanto para el parcheado de SBR heredado como para el mejorado será similar.
[0184] Además de los numerosos parámetros, otros elementos de datos también pueden ser reutilizados por un decodificador de HE-AAC ampliado cuando se realiza una forma mejorada de replicación de banda espectral según las realizaciones de la invención. Por ejemplo, los datos de envolvente y los datos de ruido de fondo también pueden extraerse de los datos bs_data_env (factores de escala de envolvente) y bs_noise_env (factores de escala de ruido de fondo) y usarse durante la forma mejorada de replicación de banda espectral.
[0186] En esencia, estas realizaciones aprovechan los parámetros de configuración y los datos de envolvente ya admitidos por un decodificador HE-AAC o HE-AAC v2 heredado en la carga útil de extensión de SBR para permitir una forma mejorada de replicación de banda espectral que requiere la menor cantidad posible de datos transmitidos adicionales. Los metadatos se ajustaron originalmente para una forma base de HFR (por ejemplo, la operación de traslación espectral de SBR), pero según realizaciones, se usan para una forma mejorada de HFR (por ejemplo, la transposición armónica de eSBR). Como se analizó anteriormente, los metadatos generalmente representan parámetros operativos (por ejemplo, factores de escala de envolvente, factores de escala de ruido de fondo, parámetros de cuadrícula de tiempo/frecuencia, información de adición de sinusoide, frecuencia/banda de cruce variable, modo de filtrado inverso, resolución de envolvente, modo de suavizado, modo de interpolación de frecuencia) sintonizados y destinados a usarse con la forma base de HFR (por ejemplo, traslación espectral lineal). Sin embargo, estos metadatos, combinados con parámetros de metadatos adicionales específicos para la forma mejorada de HFR (por ejemplo, transposición armónica), pueden usarse para procesar de manera eficiente y eficaz los datos de audio usando la forma mejorada de HFR.
[0187] En consecuencia, los decodificadores ampliados que soportan una forma mejorada de replicación de banda espectral pueden crearse de una manera muy eficiente confiando en elementos de flujo de bits ya definidos (por ejemplo, aquellos en la carga útil de extensión de SBR) y añadiendo solo aquellos parámetros necesarios para soportar la forma mejorada de replicación de banda espectral (en una carga útil de extensión de elemento de relleno). Esta característica de reducción de datos combinada con la colocación de los parámetros recién añadidos en un campo de datos reservado, tal como un contenedor de extensión, reduce sustancialmente las barreras para crear un decodificador que soporte una forma mejorada de replicación de banda espectral asegurando que el flujo de bits sea retrocompatible con el decodificador heredado que no soporta la forma mejorada de replicación de banda espectral. Se apreciará que el campo de datos reservados es un campo de datos retrocompatible, es decir, que es un campo de datos que ya es compatible con decodificadores anteriores, tales como decodificadores HE-AAC o HE-AAC v2 heredados. Del mismo modo, el contenedor de extensión es retrocompatible, lo que quiere decir que es un contenedor de extensión que ya es compatible con decodificadores anteriores, como los decodificadores HE-AAC o HE-AAC v2 heredados.
[0188] En la tabla 3, el número en la columna de la derecha indica el número de bits del parámetro correspondiente en la columna de la izquierda.
[0189] En algunas realizaciones, el tipo de objeto de SBR definido en AAC MPEG-4 se actualiza para contener la herramienta de SBR y aspectos de la herramienta de SBR mejorada (eSBR) como se indica en el elemento de extensión de SBR (bs_extension_id== EXTENSION_ID_ESBR). Si un decodificador detecta este elemento de extensión de SBR, el decodificador emplea los aspectos señalizados de la herramienta de SBR mejorada.
[0190] En algunas realizaciones, la invención es un método que incluye una etapa de codificación de datos de audio para generar un flujo de bits codificado (por ejemplo, un flujo de bits AAC MPEG-4), que incluye incluir metadatos de eSBR en al menos un segmento de al menos un bloque del flujo de bits codificado y datos de audio en al menos otro segmento del bloque. En realizaciones típicas, el método incluye una etapa de multiplexación de los datos de audio con los metadatos de eSBR en cada bloque del flujo de bits codificado. En la decodificación típica del flujo de bits codificado en un decodificador de eSBR, el decodificador extrae los metadatos de eSBR del flujo de bits (lo que incluye analizar y demultiplexar los metadatos de eSBR y los datos de audio) y usa los metadatos de eSBR para procesar los datos de audio para generar un flujo de datos de audio decodificados.
[0191] Otro aspecto de la invención es un decodificador de eSBR configurado para realizar procesamiento de eSBR (por ejemplo, usando al menos una de las herramientas de eSBR conocidas como transposición armónica o preaplanamiento) durante la decodificación de un flujo de bits de audio codificado (por ejemplo, un flujo de bits AAC MPEG-4) que no incluye metadatos de eSBR. Con referencia a la figura 5, se describirá un ejemplo de tal decodificador.
[0192] El decodificador de eSBR (400) de la figura 5 incluye una memoria intermedia 201 (que es idéntica a la memoria 201 de las figuras 3 y 4), un desformateador de carga útil de flujo de bits 215 (que es idéntico al desformateador 215 de la figura 4), un subsistema de decodificación de audio 202 (a veces denominado etapa de decodificación "de núcleo" o subsistema de decodificación "de núcleo", y que es idéntico al subsistema de decodificación de núcleo 202 de la figura 3), un subsistema de generación de datos de control de eSBR 401 y una etapa de procesamiento de eSBR 203 (que es idéntica a la etapa 203 de la figura 3), conectados como se muestra. Típicamente también, el decodificador 400 incluye otros elementos de procesamiento (no mostrados).
[0193] En el funcionamiento del decodificador 400, una secuencia de bloques de un flujo de bits de audio codificado (un flujo de bits AAC MPEG-4) recibido por el decodificador 400 se afirma del búfer 201 al desformateador 215. El formateador 215 está acoplado y configurado para demultiplexar cada bloque del flujo de bits para extraer metadatos de SBR (incluyendo datos de envolvente cuantificados) y típicamente también otros metadatos de los mismos. El formateador 215 está configurado para afirmar al menos los metadatos de SBR a la etapa de procesamiento de eSBR 203. El formateador 215 también está acoplado y configurado para extraer datos de audio de cada bloque del flujo de bits, y para afirmar los datos de audio extraídos al subsistema de decodificación (etapa de decodificación) 202.
[0194] El subsistema de decodificación de audio 202 del decodificador 400 está configurado para decodificar los datos de audio extraídos por el desformateador 215 (dicha decodificación puede denominarse operación de decodificación "de núcleo") para generar datos de audio decodificados y para afirmar los datos de audio decodificados en la etapa de procesamiento de eSBR 203. La decodificación se realiza en el dominio de frecuencia. Normalmente, una etapa final de procesamiento en el subsistema 202 aplica una transformada de dominio de frecuencia a dominio de tiempo a los datos de audio de dominio de frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio de tiempo. La etapa 203 está configurada para aplicar herramientas de SBR (y herramientas de eSBR) indicadas por los metadatos de SBR (extraídos por el desformateador 215) y por los metadatos de eSBR generados en el subsistema 401, a los datos de audio decodificados (es decir, para realizar el procesamiento de SBR y eSBR en la salida del subsistema de decodificación 202 usando los metadatos de SBR y eSBR) para generar los datos de audio completamente decodificados que se emiten desde el decodificador 400. Típicamente, el decodificador 400 incluye una memoria (accesible por el subsistema 202 y la etapa 203) que almacena los datos de audio y metadatos desformateados emitidos desde el desformateador 215 (y opcionalmente también el subsistema 401), y la etapa 203 está configurada para acceder a los datos de audio y metadatos según sea necesario durante el procesamiento de SBR y eSBR. El procesamiento de SBR en la etapa 203 puede considerarse como posprocesamiento en la salida del subsistema de decodificación de núcleo 202. Opcionalmente, el decodificador 400 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas ("PS") definidas en el estándar AAC MPEG-4, utilizando metadatos de PS extraídos por el desformateador 215) que se acopla y configura para realizar la mezcla ascendente en la salida de la etapa 203 para generar audio completamente decodificado y mezclado de manera ascendente que se emite desde la APU 210.
[0196] El estéreo paramétrico es una herramienta de codificación que representa una señal estéreo que usa una mezcla descendente lineal de los canales izquierdo y derecho de la señal estéreo y conjuntos de parámetros espaciales que describen la imagen estéreo. El estéreo paramétrico generalmente emplea tres tipos de parámetros espaciales: (1) diferencias de intensidad entre canales (IID) que describen las diferencias de intensidad entre los canales; (2) diferencias de fase entre canales (IPD) que describen las diferencias de fase entre los canales; y (3) coherencia entre canales (ICC) que describe la coherencia (o similitud) entre los canales. La coherencia se puede medir como el máximo de la correlación cruzada en función del tiempo o la fase. Estos tres parámetros generalmente permiten una reconstrucción de alta calidad de la imagen estéreo. Sin embargo, los parámetros de IPD solo especifican las diferencias de fase relativas entre los canales de la señal de entrada estéreo y no indican la distribución de estas diferencias de fase en los canales izquierdo y derecho. Por lo tanto, puede usarse adicionalmente un cuarto tipo de parámetro que describe un desplazamiento de fase general o diferencia de fase general (OPD). En el proceso de reconstrucción estéreo, los segmentos de ventana consecutivos tanto de la señal de mezcla descendente recibida, s[n], como de una versión decorrelacionada de la mezcla descendente recibida, d[n], se procesan junto con los parámetros espaciales para generar las señales reconstruidas izquierda (l<k>(n)) y derecha (r<k>(n)) según:
[0199]
[0202] en donde H<11>, H<12>, H<21>y H<22>se definen mediante los parámetros estéreo. Las señales l<k>(n) y r<k>(n) finalmente se transforman de nuevo al dominio del tiempo por medio de una transformada de frecuencia a tiempo.
[0204] El subsistema de generación de datos de control 401 de la Fig. 5 está acoplado y configurado para detectar al menos una propiedad del flujo de bits de audio codificado a decodificar, y para generar datos de control de eSBR (que pueden ser o puede incluir metadatos de eSBR de cualquiera de los tipos incluidos en flujos de bits de audio codificados según otras realizaciones de la invención) en respuesta a al menos un resultado de la etapa de detección. Los datos de control de eSBR se afirman en la etapa 203 para activar la aplicación de herramientas de eSBR individuales o combinaciones de herramientas de eSBR al detectar una propiedad específica (o combinación de propiedades) del flujo de bits, y/o para controlar la aplicación de dichas herramientas de eSBR. Por ejemplo, para controlar el rendimiento del procesamiento de eSBR usando transposición armónica, algunas realizaciones del subsistema de generación de datos de control 401 incluirían: un detector de música (por ejemplo, una versión simplificada de un detector de música convencional) para establecer el parámetro sbrPatchingMode[ch] (y afirmar el parámetro establecido en la etapa 203) en respuesta a detectar que el flujo de bits es o no indicativo de música; un detector de transitorios para establecer el parámetro sbrOversamplingFlag[ch] (y afirmar el parámetro establecido en la etapa 203) en respuesta a detectar la presencia o ausencia de transitorios en el contenido de audio indicado por el flujo de bits; y/o un detector de tono para establecer los parámetros sbrPitchInBinsFlag[ch] y sbrPitchInBins[ch] (y afirmar los parámetros establecidos en la etapa 203) en respuesta a detectar el tono de contenido de audio indicado por el flujo de bits. Otros aspectos de la invención son métodos de decodificación de flujo de bits de audio realizados por cualquier realización del decodificador de la invención descrito en este párrafo y el párrafo anterior.
[0206] Los aspectos de la invención incluyen un método de codificación o decodificación del tipo que cualquier realización de la APU, sistema o dispositivo de la invención está configurada (por ejemplo, programada) para realizar. Otros aspectos de la invención incluyen un sistema o dispositivo configurado (por ejemplo, programado) para realizar cualquier realización del método de la invención, y un medio legible por ordenador (por ejemplo, un disco) que almacena código (por ejemplo, de manera no transitoria) para implementar cualquier realización del método de la invención o etapas del mismo. Por ejemplo, el sistema de la invención puede ser o incluir un procesador de propósito general programable, un procesador de señal digital o un microprocesador, programado con software o firmware y/o configurado de otro modo para realizar cualquiera de una variedad de operaciones en datos, incluyendo una realización del método de la invención o etapas del mismo. Dicho procesador de propósito general puede ser o incluir un sistema informático que incluye un dispositivo de entrada, una memoria y circuitos de procesamiento programados (y/o configurados de otro modo) para realizar una realización del método de la invención (o etapas del mismo) en respuesta a datos afirmados en el mismo.
[0208] Las realizaciones de la presente invención pueden implementarse en hardware, firmware o software, o una combinación de ambos (por ejemplo, como una matriz lógica programable). A menos que se especifique lo contrario, los algoritmos o procesos incluidos como parte de la invención no están relacionados de manera inherente con ningún ordenador particular u otro aparato. En particular, diversas máquinas de propósito general pueden usarse con programas escritos según las enseñanzas del presente documento, o puede ser más conveniente construir aparatos más especializados (por ejemplo, circuitos integrados) para llevar a cabo las etapas del método requeridas. Por lo tanto, la invención puede implementarse en uno o más programas informáticos que se ejecutan en uno o más sistemas informáticos programables (por ejemplo, una implementación de cualquiera de los elementos de la figura 1, o el codificador 100 de la figura 2 (o un elemento del mismo), o el decodificador 200 de la figura 3 (o un elemento del mismo), o el decodificador 210 de la figura 4 (o un elemento del mismo), o el decodificador 400 de la figura 5 (o un elemento del mismo)), cada uno de los cuales comprende al menos un procesador, al menos un sistema de almacenamiento de datos (que incluye memoria volátil y no volátil y/o elementos de almacenamiento), al menos un dispositivo o puerto de entrada, y al menos un dispositivo o puerto de salida. El código de programa se aplica a los datos de entrada para realizar las funciones descritas en el presente documento y generar información de salida. La información de salida se aplica a uno o más dispositivos de salida, de manera conocida.
[0210] Cada uno de dichos programas puede implementarse en cualquier lenguaje informático deseado (incluidos lenguajes de programación de máquina, ensamblaje o de procedimiento de alto nivel, lógicos u orientados a objetos) para comunicarse con un sistema informático. En cualquier caso, el lenguaje puede ser un lenguaje compilado o interpretado.
[0212] Por ejemplo, cuando se implementan mediante secuencias de instrucciones de software informático, diversas funciones y etapas de realizaciones de la invención pueden implementarse mediante secuencias de instrucciones de software de subprocesos múltiples que se ejecutan en hardware de procesamiento de señales digitales adecuado, en cuyo caso los diversos dispositivos, etapas y funciones de las realizaciones pueden corresponder a partes de las instrucciones de software.
[0214] Cada uno de dichos programas informáticos se almacena preferiblemente en o se descarga en un medio o dispositivo de almacenamiento (por ejemplo, memoria o medio de estado sólido, o medio magnético u óptico) legible por un ordenador programable de propósito general o especial, para configurar y operar el ordenador cuando el dispositivo o medio de almacenamiento se lee por el sistema informático para realizar los procedimientos descritos en el presente documento. El sistema de la invención también puede implementarse como un medio de almacenamiento legible por ordenador, configurado con (es decir, que almacena) un programa informático, donde el medio de almacenamiento así configurado hace que un sistema informático funcione de una manera específica y predefinida para realizar las funciones descritas en el presente documento.
[0216] Se han descrito varias realizaciones de la invención. Sin embargo, se entenderá que pueden realizarse diversas modificaciones. Numerosas modificaciones y variaciones de la presente invención son posibles en vista de las enseñanzas anteriores. Por ejemplo, con el fin de facilitar implementaciones eficientes, pueden usarse desplazamientos de fase en combinación con el análisis de QMF complejo y los bancos de filtros de síntesis. El banco de filtros de análisis es responsable de filtrar la señal de banda baja de dominio de tiempo generada por el decodificador de núcleo en una pluralidad de subbandas (por ejemplo, subbandas de QMF). El banco de filtros de síntesis es responsable de combinar la banda alta regenerada producida por la técnica de HFR seleccionada (tal como se indica por el parámetro sbrPatchingMode recibido) con la banda baja decodificada para producir una señal de audio de salida de banda ancha. Sin embargo, una implementación de banco de filtros dada que opera en un cierto modo de velocidad de muestra, por ejemplo, operación normal de doble velocidad o modo de SBR muestreado de forma descendente, no debe tener desplazamientos de fase que dependan del flujo de bits. Los bancos de QMF utilizados en SBR son una extensión complejo-exponencial de la teoría de los bancos de filtros modulados por coseno. Puede mostrarse que las restricciones de cancelación de alias se vuelven obsoletas cuando se extiende el banco de filtros modulado por coseno con modulación complejo-exponencial. Por lo tanto, para los bancos de QMF de SBR, tanto los filtros de análisis, h<k>(n), como los filtros de síntesis, f<k>(n), pueden definirse mediante:
[0219]
[0222] en donde p<0>(n) es un filtro prototipo simétrico o asimétrico de valor real (típicamente, un filtro prototipo de paso bajo), M indica el número de canales y N es el orden del filtro prototipo. El número de canales utilizados en el banco de filtros de análisis puede ser diferente del número de canales utilizados en el banco de filtros de síntesis. Por ejemplo, el banco de filtros de análisis puede tener 32 canales y el banco de filtros de síntesis puede tener 64 canales. Cuando se hace funcionar el banco de filtros de síntesis en modo de muestreo descendente, el banco de filtros de síntesis puede tener solo 32 canales. Dado que las muestras de subbanda del banco de filtros tienen un valor complejo, puede añadirse una etapa de desplazamiento de fase aditiva posiblemente dependiente del canal al banco de filtros de análisis. Estos desplazamientos de fase adicionales deben compensarse antes del banco de filtros de síntesis. Si bien los términos de desplazamiento de fase en principio pueden ser de valores arbitrarios sin destruir el funcionamiento de la cadena de análisis / síntesis de QMF, también pueden limitarse a ciertos valores para la verificación de la conformidad. La señal de SBR se verá afectada por la elección de los factores de fase, mientras que la señal de paso bajo procedente del decodificador de núcleo no lo hará. La calidad de audio de la señal de salida no se ve afectada.
[0223] Los coeficientes del filtro prototipo, p<0>(n), pueden definirse con una longitud, L, de 640, tal como se muestra en la tabla 4 a continuación.
[0224] Tabla 4
[0227]
[0228]
[0229]
[0230]
[0231]
[0234] El filtro prototipo, p<0>(n), también puede derivarse de la tabla 4 mediante una o más operaciones matemáticas tales como redondeo, submuestreo, interpolación y decimación.
[0236] Aunque la sintonización de la información de control relacionada con SBR no depende típicamente de los detalles de la transposición (como se analizó anteriormente), en algunas realizaciones ciertos elementos de los datos de control pueden ser transmitidos simultáneamente en el contenedor de extensión de eSBR (bs_extension_id ==EXTENSION_ID_ESBR) para mejorar la calidad de la señal regenerada. Algunos de los elementos de difusión simultánea pueden incluir los datos de ruido de fondo (por ejemplo, factores de escala de ruido de fondo y un parámetro que indica la dirección, ya sea en la dirección de frecuencia o de tiempo, de codificación delta para cada ruido de fondo), los datos de filtrado inverso (por ejemplo, un parámetro que indica el modo de filtrado inverso seleccionado de filtrado no inverso, un bajo nivel de filtrado inverso, un nivel intermedio de filtrado inverso y un fuerte nivel de filtrado inverso) y los datos de armónicos que faltan (por ejemplo, un parámetro que indica si una sinusoide debe añadirse a una banda de frecuencia específica de la banda alta regenerada). Todos estos elementos se basan en una emulación sintetizada del transponedor del decodificador realizada en el codificador y, por lo tanto, si se sintoniza correctamente para el transponedor seleccionado, puede aumentar la calidad de la señal regenerada.
[0238] Específicamente, en algunas realizaciones, los armónicos que faltan y los datos de control de filtrado inverso se transmiten en el contenedor de extensión de eSBR (junto con los otros parámetros de flujo de bits de la tabla 3) y se sintonizan para el transponedor de armónicos de eSBR. La tasa de bits adicional requerida para transmitir estas dos clases de metadatos para el transponedor armónico de eSBR es relativamente baja. Por lo tanto, el envío de datos de control de filtrado inverso y/o armónicos que faltan sintonizados en el contenedor de extensión de eSBR aumentará la calidad del audio producido por el transponedor mientras que solo afectará mínimamente la velocidad de bits. Para garantizar la retrocompatibilidad con decodificadores heredados, los parámetros sintonizados para la operación de traslación espectral de SBR también pueden enviarse en el flujo de bits como parte de los datos de control de SBR usando señalización implícita o explícita.

Claims (7)

1. REIVINDICACIONES
1. Método para realizar reconstrucción de alta frecuencia de una señal de audio, comprendiendo el método:
recibir un flujo de bits de audio codificado, incluyendo el flujo de bits de audio codificado datos de audio que representan una parte de banda baja de la señal de audio y metadatos de reconstrucción de alta frecuencia;
decodificar los datos de audio para generar una señal de audio de banda baja decodificada; extraer del flujo de bits de audio codificado los metadatos de reconstrucción de alta frecuencia, incluyendo los metadatos de reconstrucción de alta frecuencia parámetros de funcionamiento para un proceso de reconstrucción de alta frecuencia, incluyendo los parámetros de funcionamiento un parámetro de modo de parcheo ubicado en un contenedor de extensión retrocompatible del flujo de bits de audio codificado, en el que un primer valor del parámetro de modo de parcheo indica traslación espectral y un segundo valor del parámetro de modo de parcheo indica transposición armónica mediante propagación de frecuencia de codificador de voz por fase;
filtrar la señal de audio de banda baja decodificada para generar una señal de audio de banda baja filtrada; regenerar una parte de banda alta de la señal de audio usando la señal de audio de banda baja filtrada y los metadatos de reconstrucción de alta frecuencia, en donde la regeneración incluye traslación espectral si el parámetro de modo de parcheo es el primer valor y la regeneración incluye transposición armónica mediante propagación de frecuencia de codificador de voz por fase si el parámetro de modo de parcheo es el segundo valor; y
combinar la señal de audio de banda baja filtrada con la parte de banda alta regenerada para formar una señal de audio de banda ancha;
caracterizado porque
el flujo de bits de audio codificado incluye además un elemento de relleno con un identificador que indica un inicio del elemento de relleno y datos de relleno después del identificador, en donde el identificador es un número entero sin signo de tres bits transmitido primero como bit más significativo y que tiene un valor de 0x6, en donde los datos de relleno incluyen el contenedor de extensión retrocompatible, en donde los datos de relleno incluyen una carga útil de extensión, la carga útil de extensión incluye datos de extensión de replicación de banda espectral, y la carga útil de extensión se identifica con un número entero sin signo de cuatro bits transmitido primero como bit más significativo y que tiene un valor de '1101' o '1110' y en donde el contenedor de extensión retrocompatible incluye además un indicador que indica si se utiliza un preprocesamiento adicional para evitar discontinuidades en la forma de una envolvente espectral de la parte de banda alta cuando el parámetro de modo de parcheo es igual al primer valor, en donde un primer valor del indicador habilita el preprocesamiento adicional y un segundo valor del indicador deshabilita el preprocesamiento adicional.
2. Método según la reivindicación 1, en el que el filtrado se realiza mediante un banco de filtros de análisis que incluye filtros de análisis, h<k>(n), que son versiones moduladas de un filtro prototipo, p<0>(n), según:
en donde p<0>(n) es un filtro prototipo simétrico o asimétrico de valor real, M es un número de canales en el banco de filtros de análisis y N es un orden del filtro prototipo.
3. Método según la reivindicación 2, en el que el filtro prototipo, p<0>(n), se deriva de coeficientes de la tabla:
4. Método según la reivindicación 2, en el que el filtro prototipo, p<0>(n), se deriva de los coeficientes de la tabla definida en la reivindicación 3 mediante una o más operaciones matemáticas seleccionadas del grupo que consiste en redondeo, submuestreo, interpolación o decimación.
5. Método según cualquiera de las reivindicaciones 1-4, en el que se añade un desplazamiento de fase a la señal de audio de banda baja filtrada después del filtrado y se compensa antes de la combinación para reducir una complejidad del método.
6. Medio legible por ordenador no transitorio que contiene instrucciones que, cuando se ejecutan por un procesador, llevan a cabo el método según cualquiera de las reivindicaciones 1 a 5.
7. Unidad de procesamiento de audio para realizar la reconstrucción de alta frecuencia de una señal de audio, comprendiendo la unidad de procesamiento de audio:
una interfaz de entrada para recibir un flujo de bits de audio codificado, incluyendo el flujo de bits de audio codificado datos de audio que representan una parte de banda baja de la señal de audio y metadatos de reconstrucción de alta frecuencia;
un decodificador de audio de núcleo (202) para decodificar los datos de audio para generar una señal de audio de banda baja decodificada;
un desformateador (205, 215) extraer del flujo de bits de audio codificado los metadatos de reconstrucción de alta frecuencia, incluyendo los metadatos de reconstrucción de alta frecuencia parámetros de funcionamiento para un proceso de reconstrucción de alta frecuencia, incluyendo los parámetros de funcionamiento un parámetro de modo de parcheo ubicado en un contenedor de extensión retrocompatible del flujo de bits de audio codificado, en el que un primer valor del parámetro de modo de parcheo indica traslación espectral y un segundo valor del parámetro de modo de parcheo indica transposición armónica mediante propagación de frecuencia de codificador de voz por fase;
un banco de filtros de análisis (203, 213) para filtrar la señal de audio de banda baja decodificada para generar una señal de audio de banda baja filtrada;
un regenerador de alta frecuencia (203, 213) para reconstruir una parte de banda alta de la señal de audio usando la señal de audio de banda baja filtrada y los metadatos de reconstrucción de alta frecuencia, en donde la reconstrucción incluye una traslación espectral si el parámetro de modo de parcheo es el primer valor y la reconstrucción incluye transposición armónica mediante propagación de frecuencia de codificador por fase si el parámetro de modo de parcheo es el segundo valor; y
un banco de filtros de síntesis (203, 213) para combinar la señal de audio de banda baja filtrada con la parte de banda alta regenerada para formar una señal de audio de banda ancha;
caracterizado porque
el flujo de bits de audio codificado incluye además un elemento de relleno con un identificador que indica un inicio del elemento de relleno y datos de relleno después del identificador, en donde el identificador es un número entero sin signo de tres bits transmitido primero como bit más significativo y que tiene un valor de 0x6, en donde los datos de relleno incluyen el contenedor de extensión retrocompatible, en donde los datos de relleno incluyen una carga útil de extensión, la carga útil de extensión incluye datos de extensión de replicación de banda espectral, y la carga útil de extensión se identifica con un número entero sin signo de cuatro bits transmitido primero como bit más significativo y que tiene un valor de '1101' o '1110' y porque el contenedor de extensión retrocompatible incluye además un indicador que indica si se usa preprocesamiento adicional para evitar discontinuidades en la forma de una envolvente espectral de la parte de banda alta cuando el parámetro de modo de parcheo es igual al primer valor, en el que un primer valor del indicador habilita el preprocesamiento adicional y un segundo valor del indicador deshabilita el preprocesamiento adicional.
ES25164868T 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals Active ES3069236T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18153683 2018-01-26

Publications (1)

Publication Number Publication Date
ES3069236T3 true ES3069236T3 (en) 2026-06-04

Family

ID=61054251

Family Applications (11)

Application Number Title Priority Date Filing Date
ES25164867T Active ES3067484T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES23210525T Active ES3030182T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES25164868T Active ES3069236T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES25165078T Active ES3067971T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES19153875T Active ES2871872T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES23210524T Active ES3029582T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES21164481T Active ES2924955T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES23210523T Active ES3032614T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22181854T Active ES2948839T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES25165036T Active ES3069239T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22189216T Active ES2969225T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES25164867T Active ES3067484T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES23210525T Active ES3030182T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals

Family Applications After (8)

Application Number Title Priority Date Filing Date
ES25165078T Active ES3067971T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES19153875T Active ES2871872T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES23210524T Active ES3029582T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES21164481T Active ES2924955T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES23210523T Active ES3032614T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22181854T Active ES2948839T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio
ES25165036T Active ES3069239T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22189216T Active ES2969225T3 (es) 2018-01-26 2019-01-28 Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio

Country Status (6)

Country Link
EP (12) EP4550314B1 (es)
DK (4) DK3518233T3 (es)
ES (11) ES3067484T3 (es)
FI (2) FI4099325T3 (es)
HU (7) HUE062211T2 (es)
PL (11) PL4550314T3 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113113032B (zh) * 2020-01-10 2024-08-09 华为技术有限公司 一种音频编解码方法和音频编解码设备
CN113192523B (zh) * 2020-01-13 2024-07-16 华为技术有限公司 一种音频编解码方法和音频编解码设备
CA3194876A1 (en) * 2020-10-09 2022-04-14 Franz REUTELHUBER Apparatus, method, or computer program for processing an encoded audio scene using a bandwidth extension

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3301094B2 (ja) * 1991-12-13 2002-07-15 株式会社デンソー 内燃機関用スパークプラグおよびその製造方法
TWI879690B (zh) * 2015-03-13 2025-04-01 瑞典商杜比國際公司 音訊處理單元、用於將經編碼的音訊位元流解碼之方法以及非暫態電腦可讀媒體

Also Published As

Publication number Publication date
PL3518233T3 (pl) 2021-08-16
DK3872809T3 (da) 2022-08-22
EP4303869A2 (en) 2024-01-10
ES3030182T3 (en) 2025-06-26
HUE054531T2 (hu) 2021-09-28
HUE062211T2 (hu) 2023-10-28
EP4550314C0 (en) 2026-03-18
PL4550315T3 (pl) 2026-06-01
DK4099325T3 (da) 2023-06-19
FI4120261T3 (fi) 2024-01-12
EP4550314A2 (en) 2025-05-07
EP4769390A2 (en) 2026-07-01
ES3067971T3 (en) 2026-05-26
EP4550316C0 (en) 2026-03-18
EP4550315A2 (en) 2025-05-07
EP3872809A1 (en) 2021-09-01
EP4550317A3 (en) 2025-05-28
PL4550317T3 (pl) 2026-05-25
EP4303871A2 (en) 2024-01-10
EP4120261B1 (en) 2023-11-29
HUE071338T2 (hu) 2025-08-28
EP4550317C0 (en) 2026-03-18
ES2924955T3 (es) 2022-10-11
ES3069239T3 (en) 2026-06-04
DK3518233T3 (da) 2021-05-10
PL4303869T3 (pl) 2025-07-14
EP4550315A3 (en) 2025-05-28
EP3518233A1 (en) 2019-07-31
EP3518233B1 (en) 2021-04-07
EP4550317B1 (en) 2026-03-18
EP4120261A1 (en) 2023-01-18
PL4099325T3 (pl) 2023-08-14
ES3032614T3 (en) 2025-07-22
EP4550315B1 (en) 2026-03-18
PL4303871T3 (pl) 2025-07-14
HUE065166T2 (hu) 2024-05-28
FI4099325T3 (fi) 2023-06-13
PL4550314T3 (pl) 2026-05-25
EP4303869C0 (en) 2025-05-07
EP4303870A2 (en) 2024-01-10
PL4303870T3 (pl) 2025-06-30
PL3872809T3 (pl) 2022-09-26
EP4550315C0 (en) 2026-03-18
EP3872809B1 (en) 2022-07-27
EP4303870B1 (en) 2025-04-30
EP4099325A1 (en) 2022-12-07
EP4550314B1 (en) 2026-03-18
ES2871872T3 (es) 2021-11-02
EP4550314A3 (en) 2025-05-28
EP4303871B1 (en) 2025-05-07
ES2969225T3 (es) 2024-05-17
ES3029582T3 (en) 2025-06-24
DK4120261T3 (da) 2024-01-22
HUE071389T2 (hu) 2025-08-28
EP4303870C0 (en) 2025-04-30
PL4120261T3 (pl) 2024-03-25
EP4550316A3 (en) 2025-05-28
EP4303869B1 (en) 2025-05-07
EP4303869A3 (en) 2024-03-20
EP4303870A3 (en) 2024-03-20
EP4303871C0 (en) 2025-05-07
EP4550316B1 (en) 2026-03-18
EP4550316A2 (en) 2025-05-07
HUE071631T2 (hu) 2025-09-28
EP4769390A3 (en) 2026-08-19
EP4550317A2 (en) 2025-05-07
ES3067484T3 (en) 2026-05-22
PL4550316T3 (pl) 2026-05-25
EP4099325B1 (en) 2023-05-17
ES2948839T3 (es) 2023-09-20
HUE059669T2 (hu) 2022-12-28
EP4303871A3 (en) 2024-03-20