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
Spanish (es)
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/en
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)A method for decoding an encoded audio bitstream is described. The method includes receiving the encoded audio bitstream and decoding the audio data to generate a decoded low-band audio signal. The method also includes extracting high-frequency reconstruction metadata and filtering the decoded low-band audio signal with a bank of analysis filters to generate a filtered low-band audio signal. Furthermore, the method includes extracting a flag indicating whether a spectral translation or harmonic transposition should be performed on the audio data and regenerating a high-band portion of the audio signal using the filtered low-band audio signal and the high-frequency reconstruction metadata, according to that flag.

Description

[0001] DESCRIPCIÓN[0001] DESCRIPTION

[0002] Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audioReferencia cruzada a la solicitud relacionada[0002] Backward compatible integration of high-frequency reconstruction techniques for audio signals. Cross-reference to related application

[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.[0003] This application is a European divisional application of European patent application EP 23210525.4 (reference: D17806EP07), for which EPO Form 1001 was filed on November 17, 2023.

[0004] Campo técnico[0004] Technical field

[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.[0005] The realizations refer to a method and an audio processing unit for performing high-frequency reconstruction of an audio signal.

[0006] Antecedentes de la invención[0006] Background of the invention

[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".[0007] A typical audio bitstream includes both audio data (e.g., encoded audio data) indicative of one or more channels of audio content, and metadata indicative of at least one characteristic of the audio data or audio content. A well-known format for generating an encoded audio bitstream is the MPEG-4 Advanced Audio Coding (AAC) format, described in the MPEG ISO/IEC 14496-3:2009 standard. In the MPEG-4 standard, AAC denotes "Advanced Audio Coding" and HE-AAC denotes "High Efficiency Advanced Audio Coding."

[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.[0008] The MPEG-4 AAC standard defines several audio profiles, which determine which objects and encoding tools are present in a complaint encoder or decoder. Three of these audio profiles are (1) the AAC profile, (2) the HE-AAC profile, and (3) the HE-AAC v2 profile. The AAC profile includes the AAC Low Complexity object type (or "AAC-LC"). The AAC-LC object is the counterpart of the MPEG-2 AAC Low Complexity profile, with some adjustments, and does not include either the Spectral Band Replication ("SBR") object type or the Parametric Stereo ("PS") object type. The HE-AAC profile is a superset of the AAC profile and, in addition, includes the SBR object type. The HE-AAC v2 profile is a superset of the HE-AAC profile and, in addition, includes the PS object type.

[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.[0009] The SBR object type contains the Spectral Band Replication tool, which is an important high-frequency reconstruction (HFR) coding tool that significantly improves the compression efficiency of perceptual audio codecs. SBR reconstructs the high-frequency components of an audio signal at the receiver side (e.g., at the decoder). Therefore, the encoder only needs to encode and transmit low-frequency components, enabling much higher audio quality at lower data rates. SBR relies on replicating harmonic sequences, previously truncated to reduce the data rate, from the limited bandwidth available signal and control data obtained from the encoder. The ratio between tonal and noise-like components is maintained by adaptive inverse filtering, as well as the optional addition of noise and sinusoidal components. In the AAC MPEG-4 standard, the SBR tool performs spectral patching (also called linear translation or spectral translation), where a series of consecutive quadrature mirror filter (QMF) subbands are copied (or "patched") from a transmitted low-band portion of an audio signal to a high-band portion of the audio signal, which is generated in the decoder.

[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.[0010] Spectral patching or linear translation may not be ideal for certain types of audio, such as musical content with relatively low crossover frequencies. Therefore, techniques to improve spectral band replication are needed.

[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.[0011] WO2016149015A1 relates to an audio processing unit comprising a buffer, a bitstream payload deformatizer, and a decoding subsystem. The buffer stores at least one block of an encoded audio bitstream. The block includes a padding element beginning with an identifier followed by padding data. The padding data includes at least one flag identifying whether enhanced spectral band replication (eSBR) processing is to be performed on the audio content of the block. A corresponding method for decoding an encoded audio bitstream is also provided.

[0012] Breve descripción detallada de realizaciones de la invención[0012] Brief detailed description of embodiments of the invention

[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.[0013] The present disclosure provides a method as detailed in claim 1. A non-transient computer-readable medium according to claim 6 and an audio processing unit according to claim 7 are also provided. Advantageous features are provided in the dependent claims.

[0014] Breve descripción de los dibujos[0014] Brief description of the drawings

[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.[0015] Figure 1 is a block diagram of an embodiment of a system that can be configured to perform an embodiment of the method of the invention.

[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.[0016] Figure 2 is a block diagram of an encoder that is an embodiment of the audio processing unit of the invention.

[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.[0017] Figure 3 is a block diagram of a system that includes a decoder that is an embodiment of the audio processing unit of the invention, and optionally also a post-processor coupled thereto.

[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.[0018] Figure 4 is a block diagram of a decoder that is an embodiment of the audio processing unit of the invention.

[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.[0019] Figure 5 is a block diagram of a decoder which is another embodiment of the audio processing unit of the invention.

[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.[0020] Figure 6 is a block diagram of another embodiment of the audio processing unit of the invention. Figure 7 is a block diagram of an AAC MPEG-4 bitstream, including the segments into which it is divided.

[0021] Notación y nomenclatura[0021] Notation and nomenclature

[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).[0022] Throughout this disclosure, including in the claims, the expression performing an operation "on" a signal or data (e.g., filtering, scaling, transforming, or applying gain to the signal or data) is used in a broad sense to denote performing the operation directly on the signal or data, or on a processed version of the signal or data (e.g., on a version of the signal that has undergone filtering or preliminary preprocessing before performing the operation on it).

[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.[0023] Throughout this disclosure, including in the claims, the term "audio processing unit" or "audio processor" is used in a broad sense to mean a system, device, or apparatus configured to process audio data. Examples of audio processing units include, but are not limited to, encoders, transcoders, decoders, codecs, preprocessing systems, postprocessing systems, and bitstream processing systems (sometimes called bitstream processing tools). Virtually all consumer electronics, such as mobile phones, televisions, laptops, and tablets, contain an audio processing unit or audio processor.

[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í.[0024] Throughout this disclosure, including in the claims, the term “couples” or “coupled” is used in a broad sense to mean a direct or indirect connection. Therefore, if a first device couples to a second device, that connection may be through a direct connection, or through an indirect connection via other devices and connections. Furthermore, components that are integrated into or with other components are also coupled to each other.

[0025] Descripción detallada de las realizaciones de la invención[0025] Detailed description of the embodiments of the invention

[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.[0026] The AAC MPEG-4 standard stipulates that an encoded AAC MPEG-4 bitstream includes metadata indicative of each type of high-frequency reconstruction ("HFR") processing to be applied (if any) by a decoder to decode audio content from the bitstream, and/or that controls such HFR processing, and/or is indicative of at least one feature or parameter of at least one HFR tool to be used to decode audio content from the bitstream. In this document, the term "SBR metadata" is used to denote such metadata as described or referenced in the AAC MPEG-4 standard for use with spectral band replication ("SBR"). As someone skilled in the art will appreciate, SBR is a form of 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.[0027] SBR is preferably used as a dual-rate system, with the underlying codec operating at half the original sampling rate, while SBR operates at the original sampling rate. The SBR encoder operates in parallel with the underlying core codec, albeit at a higher sampling rate. Although SBR is primarily a post-processing step in the decoder, important parameters are extracted in the encoder to ensure the most accurate high-frequency reconstruction in the decoder. The encoder estimates the spectral envelope of the SBR range for a time and frequency range/resolution suitable for the characteristics of the current input signal segments. The spectral envelope is estimated by complex QMF analysis and post-power calculation. The time and frequency resolutions of the spectral envelopes can be chosen with a high degree of freedom to ensure the most suitable time-frequency resolution for the given input segment. The envelope estimation must consider that a transient in the original, located primarily in the high-frequency region (e.g., a high-pitched sound), will be present to a lesser extent in the high band generated by SBR before envelope fitting, since the high band in the decoder is based on the low band where the transient is much less pronounced compared to the high band. This aspect imposes different requirements on the time-frequency resolution of the spectral envelope data, compared to ordinary spectral envelope estimation as used in other audio coding algorithms.

[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.[0029] In addition to the spectral envelope, several additional parameters are extracted that represent the spectral characteristics of the input signal for different time and frequency regions. Since the encoder naturally has access to the original signal, as well as information about how the SBR unit in the decoder will create the high band, given the specific set of control parameters, the system can handle situations where the low band consists of a strong harmonic series and the high band to be recreated consists mainly of random signal components, as well as situations where strong tonal components are present in the original high band without counterparts in the low band on which the high band region is based. Furthermore, the SBR encoder works closely with the underlying core codec to assess which frequency range should be covered by SBR at any given time. The SBR data is efficiently encoded before transmission by leveraging entropy coding, as well as the channel dependencies of the control data, in the case of stereo signals.

[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.[0031] Control parameter extraction algorithms typically need to be carefully tuned to the underlying codec at a given bit rate and sampling rate. This is because a lower bit rate generally implies a larger SBR range compared to a higher bit rate, and different sampling rates correspond to different time resolutions of the SBR frames.

[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.[0033] An SBR decoder typically includes several different parts. It comprises a bitstream decoding module, a high-frequency (HFR) reconstruction module, an additional high-frequency component module, and an envelope tuning module. The system is based on either a complex-value QMF filter bank (for high-quality SBR) or a real-value QMF filter bank (for low-power SBR). The embodiments of the invention are applicable to both high-quality and low-power SBR. In the bitstream extraction module, the control data is read from the bitstream and decoded. The time-frequency grid is obtained for the current frame before the envelope data is read from the bitstream. The underlying core decoder decodes the audio signal from the current frame (albeit at the lowest sampling rate) to produce audio samples in the time domain. The resulting audio data frame is used for high-frequency reconstruction by the HFR module. The decoded low-band signal is then analyzed using a QMF filter bank. High-frequency reconstruction and envelope tuning are subsequently performed on subband samples from the QMF filter bank. The high frequencies are flexibly reconstructed from the low band based on given control parameters. Furthermore, the reconstructed high band is adaptively filtered on a subband channel basis according to the control data to ensure the appropriate spectral characteristics for the given time/frequency region.

[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".[0035] The top level of an AAC MPEG-4 bitstream is a sequence of data blocks ("raw_data_block" elements), each of which is a data segment (referred to herein as a "block") containing audio data (typically over a period of 1024 or 960 samples) and related information and/or other data. Herein, the term "block" is used to denote a segment of an AAC MPEG-4 bitstream comprising audio data (and corresponding metadata and optionally also other related data) that determines or is indicative of one (but no more than one) "raw_data_block" element.

[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).[0037] Each block of an AAC MPEG-4 bitstream can include a number of syntactic elements (each of which is also materialized in the bitstream as a data segment). Seven types of such syntactic elements are defined in the AAC MPEG-4 standard. Each syntactic element is identified by a different value of the "id_syn_ele" data element. Examples of syntactic elements include a "single_channel_element()", a "channel_pair_element()", and a "fill_element()". A single-channel element is a container that includes audio data from a single audio channel (a monophonic audio signal). A channel-pair element includes audio data from two audio channels (i.e., a stereo audio signal).

[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.[0039] A padding element is an information container that includes an identifier (for example, the value of the "id_syn_ele" element mentioned above) followed by data, which is called "padding data". Padding elements have historically been used to adjust the instantaneous bit rate of bit streams to be transmitted over a constant-rate channel. By adding the appropriate amount of padding data to each block, a constant data rate can be achieved.

[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).[0041] According to the invention, padding data includes one or more extension payloads that extend the type of data (e.g., metadata) that can be transmitted in a bitstream. A decoder that receives bitstreams with padding data containing a new data type can optionally be used by a device receiving the bitstream (e.g., a decoder) to extend the device's functionality. Therefore, as one skilled in the art can appreciate, padding elements are a special type of data structure and are different from the data structures typically used to transmit audio data (e.g., audio payloads containing channel data).

[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).[0042] In some embodiments of the invention, the identifier used to identify a padding element may consist of a three-bit unsigned integer transmitted first in the most significant bit ("uimsbf") having a value of 0x6. In a block, several instances of the same type of syntactic element (e.g., several padding elements) may occur.

[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).[0043] Another standard for encoding audio bitstreams is the Unified Audio and Speech Coding (USAC) MPEG standard (ISO/IEC 23003-3:2012). The USAC MPEG standard describes the encoding and decoding of audio content using spectral band replication processing (including SBR processing as described in the AAC MPEG-4 standard, and also including other enhanced forms of spectral band replication processing). This processing applies spectral band replication tools (sometimes referred to herein as "enhanced SBR tools" or "eSBR tools") from an expanded and improved version of the SBR toolset described in the AAC MPEG-4 standard. Therefore, eSBR (as defined in the USAC standard) is an enhancement of SBR (as defined in the AAC MPEG-4 standard).

[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.[0044] In this document, the term "enhanced SBR processing" (or "eSBR processing") is used to indicate spectral band replication processing using at least one eSBR tool (for example, at least one eSBR tool that is described or mentioned in the USAC MPEG standard) that is not described or mentioned in the AAC MPEG-4 standard. Examples of such eSBR tools are harmonic transposition and additional QMF patch preprocessing or "pre-flattening".

[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.[0045] An integer-order harmonic transponder T maps a sinusoid with frequency ω onto a sinusoid with frequency Tω, while preserving the signal duration. Typically, three orders, T = 2, 3, 4, are used sequentially to produce each part of the desired output frequency range using the smallest possible transposition order. If an output above the fourth-order transposition range is required, it can be generated by frequency shifts. Where possible, nearly critically sampled baseband time domains are created for processing to minimize computational complexity.

[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.[0046] The harmonic transponder can be based on QMF or DFT. When using the QMF-based harmonic transponder, the bandwidth stretching of the core encoder's time-domain signal is performed entirely in the QMF domain, using a modified phase vocoder structure, performing decimation followed by time stretching for each QMF subband. Transposition using various transposition factors (e.g., T = 2, 3, 4) is carried out in a common QMF synthesis/analysis transformation stage. Since the QMF-based harmonic transponder does not feature adaptive frequency-domain signal oversampling, the corresponding flag in the bitstream (sbrOversamplingFlag[ch]) can be ignored.

[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.[0047] When using the DFT-based harmonic transponder, the factor 3 and 4 transponders (third- and fourth-order transponders) are preferably integrated into the factor 2 transponder (second-order transponder) by means of interpolation to reduce complexity. For each frame (corresponding to coreCoderFrameLength samples), the nominal "full-size" transform size of the transponder is first determined by the signal adaptive frequency-domain oversampling flag (sbrOversamplingFlag[ch]) in the bitstream.

[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:[0048] When sbrPatchingMode==1, indicating that linear transposition will be used to generate the high band, an additional stage is introduced to prevent discontinuities in the shape of the spectral envelope of the high-frequency signal being fed into the downstream envelope adjuster. This improves the performance of the downstream envelope adjustment stage, resulting in a high-band signal that is perceived as more stable. The operation of the additional preprocessing is beneficial for signal types where the coarse spectral envelope of the low-band signal used for high-frequency reconstruction exhibits large level variations. However, the value of the bitstream element can be determined at the encoder by applying any type of signal-dependent sorting. The additional preprocessing is activated via a one-bit bitstream element, bs_sbr_preprocessing. When bs_sbr_preprocessing is set to one, the additional processing is enabled. When bs_sbr_preprocessing is set to zero, further preprocessing is disabled. The preferred additional processing uses a pregain curve that is used by the high-frequency generator to scale the low band, X<low>, for each patch. For example, the pregain curve can be calculated as follows:

[0050] [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,[0052] where k<0> is the first QMF subband in the master frequency band table and ylowEnvSlope is calculated using a function that computes the coefficients of a best-fit polynomial (in a least-squares sense), such as polyfit(). For example,

[0054] [0054]

[0056] puede emplearse (usando un polinomio de tercer grado) y en donde[0056] can be employed (using a third-degree polynomial) and where

[0059] [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[0061] where x_lowband (k)=[0... k<0>-1], numTimeSlot is the number of SBR envelope time slots that exist within a frame, SPEED is a constant indicating the number of QMF subband samples per time slot (e.g., 2), φ<k> is a linear prediction filter coefficient (possibly obtained from the covariance method) and where

[0064] [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).[0066] A bitstream generated according to the USAC MPEG standard (sometimes referred to herein as a "USAC bitstream") includes encoded audio content and normally includes metadata indicative of each type of spectral band replication processing to be applied by a decoder to decode audio content from the USAC bitstream, and/or metadata controlling such spectral band replication processing and/or indicative of at least one feature or parameter of at least one SBR tool and/or eSBR tool to be employed to decode audio content from the USAC bitstream. In this document, the term "enhanced SBR metadata" (or "eSBR metadata") is used to refer to metadata indicative of each type of spectral band replication processing that a decoder will apply to decode audio content from an encoded audio bitstream (for example, a USAC bitstream) and/or that controls such spectral band replication processing, and/or indicative of at least one feature or parameter of at least one SBR tool and/or eSBR tool that will be used to decode such audio content, but which is not described or referenced in the AAC MPEG-4 standard. An example of eSBR metadata is the metadata (indicative of, or for controlling, spectral band replication processing) that is described or referenced in the USAC MPEG standard but not in the AAC MPEG-4 standard. Therefore, eSBR metadata herein refers to metadata that is not SBR metadata, and SBR metadata herein refers to metadata that is not eSBR metadata. A USAC bitstream may include both SBR metadata and eSBR metadata. More specifically, a USAC bitstream may include eSBR metadata that controls the performance of eSBR processing by a decoder, and SBR metadata that controls the performance of SBR processing by the decoder. According to typical embodiments of the present invention, eSBR metadata (e.g., eSBR-specific configuration data) is included (according to the present invention) in an AAC MPEG-4 bitstream (e.g., in the sbr_extension() container at the end of an SBR payload).

[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.[0067] The performance of eSBR processing, during the decoding of a bitstream encoded using an eSBR toolset (comprising at least one eSBR tool), by means of a decoder, regenerates the high-frequency band of the audio signal, based on the replication of harmonic sequences that were truncated during encoding. Such eSBR processing typically adjusts the spectral envelope of the generated high-frequency band and applies inverse filtering, and adds noise and sinusoidal components in order to recreate the spectral characteristics of the original audio signal.

[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.[0068] According to typical embodiments of the invention, eSBR metadata (for example, a small number of control bits that are eSBR metadata) is included in one or more metadata segments of an encoded audio bitstream (for example, an AAC MPEG-4 bitstream) that also includes audio data encoded in other segments (audio data segments). Typically, at least one of these metadata segments in each block of the bitstream is (or includes) a padding element (which includes an identifier indicating the start of the padding element), and the eSBR metadata is included in the padding element after the identifier.

[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.[0069] Figure 1 is a block diagram of an example audio processing chain (an audio data processing system), wherein one or more of the system elements can be configured according to an embodiment of the present invention. The system includes the following elements, coupled together as shown: encoder 1, supply subsystem 2, decoder 3, and post-processing unit 4. In variations of the system shown, one or more of the elements are omitted, or additional audio data processing units are included.

[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.[0070] In some implementations, the encoder 1 (which optionally includes a preprocessing unit) is configured to accept PCM (time-domain) samples comprising audio content as input, and to output an encoded audio bitstream (which is formatted to comply with the AAC MPEG-4 standard) that is indicative of the audio content. The bitstream data that is indicative of the audio content is sometimes referred to herein as "audio data" or "encoded audio data." If the encoder is configured according to a typical embodiment of the present invention, the audio bitstream output from the encoder includes eSBR metadata (and normally also other metadata) as well as audio data.

[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.[0071] One or more encoded audio bitstreams emitted from encoder 1 may be asserted to the encoded audio delivery subsystem 2. Subsystem 2 is configured to store and/or deliver each encoded bitstream output from encoder 1. An encoded audio bitstream output from encoder 1 may be stored by subsystem 2 (for example, in the form of a DVD or Blu-ray disc), or transmitted by subsystem 2 (which may implement a transmission link or network), or it may be both stored and transmitted by subsystem 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.[0072] Decoder 3 is configured to decode an encoded MPEG-4 AAC audio bitstream (generated by Encoder 1) received via Subsystem 2. In some implementations, Decoder 3 is configured to extract eSBR metadata from each block of the bitstream and to decode the bitstream (including performing eSBR processing using the extracted eSBR metadata) to generate decoded audio data (e.g., decoded PCM audio sample streams). In some implementations, Decoder 3 is configured to extract SBR metadata from the bitstream (but to ignore eSBR metadata included in the bitstream) and to decode the bitstream (including performing SBR processing using the extracted SBR metadata) to generate decoded audio data (e.g., decoded PCM audio sample streams). Typically, decoder 3 includes a buffer that stores (for example, non-transiently) segments of the encoded audio bitstream received from subsystem 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.[0073] The post-processing unit 4 in Figure 1 is configured to accept a stream of decoded audio data from decoder 3 (e.g., decoded PCM audio samples) and to perform post-processing on it. The post-processing unit can also be configured to play back the post-processed audio content (or the decoded audio received from decoder 3) for playback through one or more speakers.

[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.[0074] Figure 2 is a block diagram of an encoder (100) that is an embodiment of the audio processing unit of the invention. Any of the components or elements of the encoder 100 may be implemented as one or more processes and/or one or more circuits (e.g., ASIC, FPGA, or other integrated circuits), in hardware, software, or a combination of hardware and software. The encoder 100 includes the encoder 105, the padding/formatting stage 107, the metadata generation stage 106, and the buffer 109, connected as shown. Typically, the encoder 100 also includes other processing elements (not shown). The encoder 100 is configured to convert an input audio bitstream into an encoded AAC MPEG-4 output bitstream.

[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.[0075] Metadata generator 106 is coupled and configured to generate (and/or pass through stage 107) metadata (including eSBR metadata and SBR metadata) to be included in stage 107 in the encoded bitstream to be emitted from encoder 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.[0076] Encoder 105 is coupled and configured to encode (for example, by performing compression thereon) the input audio data, and to affirm the resulting encoded audio to stage 107 for inclusion in the encoded bitstream to be output from stage 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.[0077] Stage 107 is configured to multiplex the encoded audio from encoder 105 and the metadata (including eSBR metadata and SBR metadata) from generator 106 to generate the encoded bitstream to be output from stage 107, preferably so that the encoded bitstream is in the format specified by one of the embodiments of the present invention.

[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.[0078] Buffer 109 is configured to store (for example, non-transiently) at least one block of the encoded audio bitstream emitted from stage 107, and a sequence of the encoded audio bitstream blocks is then claimed from buffer 109 as output from encoder 100 to a supply system.

[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).[0079] Figure 3 is a block diagram of a system that includes a decoder (200) that is an embodiment of the audio processing unit of the invention, and optionally also a post-processor (300) coupled thereto. Any of the components or elements of the decoder 200 and the post-processor 300 may be implemented as one or more processes and/or one or more circuits (for example, ASICs, FPGAs, or other integrated circuits), in hardware, software, or a combination of hardware and software. The decoder 200 comprises the buffer 201, the bitstream payload deformatizer (analyzer) 205, the audio decoding subsystem 202 (sometimes referred to as the “core” decoding stage or “core” decoding subsystem), the eSBR processing stage 203, and the control bit generation stage 204, connected as shown. Typically, the decoder 200 also includes other processing elements (not shown).

[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.[0081] The buffer 201 stores (for example, non-transiently) at least one block of an MPEG-4 encoded AAC audio bitstream received by the decoder 200. In the operation of the decoder 200, a sequence of the bitstream blocks is asserted from buffer 201 to the deformatter 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).[0083] In variations of the embodiment of Figure 3 (or the embodiment of Figure 4 to be described), an APU that is not a decoder (e.g., APU 500 of Figure 6) includes a buffer (e.g., a buffer identical to buffer 201) that stores (e.g., non-transiently) at least one block of an encoded audio bitstream (e.g., an MPEG-4 AAC audio bitstream) of the same type received by buffer 201 of Figure 3 or Figure 4 (i.e., an encoded audio bitstream that includes eSBR metadata).

[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.[0085] Referring again to Figure 3, the deformatter 205 is coupled and configured to demultiplex each block of the bitstream to extract SBR metadata (including quantized envelope data) and eSBR metadata (and typically other metadata as well) from them, to assert at least the eSBR metadata and the SBR metadata to the eSBR processing stage 203, and typically also to assert other extracted metadata to the decoding subsystem 202 (and optionally also to control the bit generator 204). The formatter 205 is also coupled and configured to extract audio data from each block of the bitstream, and to assert the extracted audio data to the decoding subsystem (decoding stage) 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.[0087] The system in Figure 3 also optionally includes a post-processor 300. The post-processor 300 includes a buffer 301 and other processing elements (not shown) including at least one processing element coupled to the buffer 301. The buffer 301 stores (for example, non-transiently) at least one block (or frame) of the decoded audio data received by the post-processor 300 from the decoder 200. The processing elements of the post-processor 300 are coupled and configured to adaptively receive and process a sequence of the blocks (or frames) of the decoded audio output from the buffer 301, using metadata emitted from the decoding subsystem 202 (and/or the deformatter 205) and/or control bits emitted from stage 204 of the decoder 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).[0089] The audio decoding subsystem 202 of decoder 200 is configured to decode the audio data extracted by analyzer 205 (such decoding may be referred to as the "core" decoding operation) to generate decoded audio data and to assert the decoded audio data to the eSBR processing stage 203. The decoding is performed in the frequency domain and typically includes inverse quantization followed by spectral processing. Typically, a final processing stage in subsystem 202 applies a frequency-domain to time-domain transform to the decoded frequency-domain audio data, so that the output of the subsystem is decoded time-domain audio data. Stage 203 is configured to apply SBR and eSBR tools indicated by the eSBR metadata and the eSBR (extracted by analyzer 205) to the decoded audio data (i.e., to perform SBR and eSBR processing on the output of decoding subsystem 202 using the SBR and eSBR metadata) to generate the fully decoded audio data that is output (e.g., to post-processor 300) from decoder 200. Typically, decoder 200 includes a memory (accessible by subsystem 202 and stage 203) that stores the unformatted audio data and metadata output from deformatter 205, and stage 203 is configured to access the audio data and metadata (including SBR metadata and eSBR metadata) as needed during SBR processing. and eSBR. The SBR and eSBR processing in stage 203 can be considered as post-processing at the output of the core decoding subsystem 202. Optionally, the decoder 200 also includes a final upmix subsystem (which can apply parametric stereo tools ("PS") defined in the AAC MPEG-4 standard, using PS metadata extracted by the deformatter 205 and/or control bits generated in subsystem 204) that is coupled and configured to perform upmixing at the output of stage 203 to generate fully decoded and upmixed audio that is output from the decoder 200. Alternatively, the post-processor 300 is configured to perform upmixing at the output of the decoder 200 (e.g., using PS metadata extracted by the deformatter 205 and/or control bits generated in subsystem 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.[0091] In response to metadata extracted by deformatter 205, control bit generator 204 can generate control data, and the control data can be used within decoder 200 (for example, in a final upmix subsystem) and/or asserted as output of decoder 200 (for example, to postprocessor 300 for use in post-processing). In response to metadata extracted from the input bitstream (and optionally also in response to control data), stage 204 can generate (and assert to postprocessor 300) control bits indicating that the decoded audio data output from eSBR processing stage 203 should undergo a specific type of post-processing. In some implementations, decoder 200 is configured to assert the metadata extracted by deformatter 205 from the input bitstream to postprocessor 300, and postprocessor 300 is configured to perform post-processing on the output of audio data decoded by decoder 200 using the metadata.

[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.[0093] Figure 4 is a block diagram of an audio processing unit ("APU") (210) that is another embodiment of the audio processing unit of the invention. The APU 210 is a legacy decoder that is not configured to perform eSBR processing. Any of the components or elements of the APU 210 may be implemented as one or more processes and/or one or more circuits (e.g., ASIC, FPGA, or other integrated circuits), in hardware, software, or a combination of hardware and software. The APU 210 comprises a buffer 201, a bitstream payload deformattor (analyzer) 215, an audio decoding subsystem 202 (sometimes referred to as a "core" decoding stage or "core" decoding subsystem), and an SBR processing stage 213, connected as shown. Typically, the APU 210 also includes other processing elements (not shown). The APU 210 might represent, for example, an audio encoder, decoder, or transcoder.

[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.[0095] Elements 201 and 202 of APU 210 are identical to the identically numbered elements of decoder 200 (in Figure 3), and their description above will not be repeated. In the operation of APU 210, a sequence of blocks from an encoded audio bitstream (an AAC MPEG-4 bitstream) received by APU 210 is asserted from buffer 201 to deformatter 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.[0097] The formatter 215 is coupled and configured to demultiplex each block of the bitstream to extract SBR metadata (including quantized envelope data) and typically other metadata therefrom, but to ignore eSBR metadata that may be included in the bitstream according to any embodiment of the present invention. The formatter 215 is configured to assert at least the SBR metadata to the SBR processing stage 213. The formatter 215 is also coupled and configured to extract audio data from each block of the bitstream and to assert the extracted audio data to the decoding subsystem (decoding stage) 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).[0099] The audio decoding subsystem 202 of decoder 200 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as the "core" decoding operation) to generate decoded audio data and to assert the decoded audio data to the processing stage of SBR 213. The decoding is performed in the frequency domain. Typically, a final processing stage in subsystem 202 applies a frequency-domain to time-domain transform to the decoded frequency-domain audio data, so that the output of the subsystem is decoded time-domain audio data. Stage 213 is configured to apply SBR tools (but not eSBR tools) indicated by the SBR metadata (extracted by deformatter 215) to the decoded audio data (i.e., to perform SBR processing on the output of decoding subsystem 202 using the SBR metadata) to generate the fully decoded audio data that is output (e.g., to postprocessor 300) from APU 210. Typically, APU 210 includes a memory (accessible by subsystem 202 and stage 213) that stores the deformatted audio data and metadata output from deformatter 215, and stage 213 is configured to access the audio data and metadata (including SBR metadata) as needed during SBR processing. The SBR processing in stage 213 can be considered as post-processing at the output of the core decoding subsystem 202. Optionally, APU 210 also includes a final upmix subsystem (which can apply parametric stereo tools ("PS") defined in the AAC MPEG-4 standard, using PS metadata extracted by deformatter 215) that is coupled and configured to perform an upmix at the output of stage 213 to generate fully decoded and upmixed audio that is output from APU 210. Alternatively, a post-processor is configured to perform an upmix at the output of APU 210 (e.g., using PS metadata extracted by deformatter 215 and/or control bits generated in 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.[0101] Several implementations of the encoder 100, decoder 200, and APU 210 are configured to perform different embodiments of the method of the invention.

[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.[0103] According to some implementations, eSBR metadata (e.g., a small number of control bits that are eSBR metadata) is included in an encoded audio bitstream (e.g., an AAC MPEG-4 bitstream) so that legacy decoders (which are not configured to parse the eSBR metadata, or to use any eSBR tool to which the eSBR metadata belongs) can ignore the eSBR metadata but still decode the bitstream as far as possible without the use of the eSBR metadata or any eSBR tool to which the eSBR metadata belongs, typically without any significant penalty to the quality of the decoded audio. However, eSBR decoders configured to parse the bitstream to identify eSBR metadata and to use at least one eSBR tool in response to the eSBR metadata will benefit from using at least one such eSBR tool. Therefore, the embodiments of the invention provide a means for efficiently transmitting enhanced spectral band replication (eSBR) control data or metadata in a backward-compatible manner.

[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):[0104] Typically, eSBR metadata in the bitstream is indicative of (for example, is indicative of at least one feature or parameter of) one or more of the following eSBR tools (which are described in the USAC MPEG standard, and which may or may not have been applied by an encoder during bitstream generation):

[0105] • Transposición armónica; y[0105] • Harmonic transposition; and

[0106] • Preprocesamiento adicional de parcheado de QMF(preaplanamiento).[0106] • Additional QMF patching preprocessing (pre-flattening).

[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.[0107] For example, the eSBR metadata included in the bitstream may be indicative of parameter values (described in the USAC MPEG standard and in this disclosure): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch] and 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.[0108] In this document, the notation X[ch], where X is some parameter, denotes that the parameter belongs to the channel ("ch") of the audio content of an encoded bitstream to be decoded. For simplicity, the expression [ch] is sometimes omitted and it is assumed that the relevant parameter belongs to an audio content channel.

[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.[0109] In this document, the notation X[ch][env], where X is some parameter, denotes that the parameter belongs to the SBR envelope ("env") of the audio content channel ("ch") of an encoded bitstream to be decoded. For simplicity, the expressions [env] and [ch] are sometimes omitted, and it is assumed that the relevant parameter belongs to an SBR envelope of an audio content channel.

[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].[0110] During the decoding of an encoded bitstream, the realization of harmonic transposition during an eSBR processing stage of the decoding (for each channel, "ch", of the audio content indicated by the bitstream) is controlled by the following eSBR metadata parameters: sbrPatchingMode[ch]: sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; and 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.[0111] The value "sbrPatchingMode[ch]" indicates the type of transponder used in eSBR: sbrPatchingMode[ch] = 1 indicates linear transposition patching as described in Section 4.6.18 of the AAC MPEG-4 standard (as used with high-quality SBR or low-power SBR); sbrPatchingMode[ch] = 0 indicates harmonic SBR patching as described in Section 7.5.3 or 7.5.4 of the USAC MPEG standard.

[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.[0112] The value "sbrOversamplingFlag[ch]" indicates the use of adaptive frequency-domain signal oversampling in eSBR in combination with DFT-based harmonic SBR patching as described in Section 7.5.3 of the USAC MPEG standard. This flag controls the size of DFTs used in the transponder: 1 indicates adaptive frequency-domain signal oversampling enabled as described in Section 7.5.3.1 of the USAC MPEG standard; 0 indicates adaptive frequency-domain signal oversampling disabled as described in Section 7.5.3.1 of the USAC MPEG standard.

[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.[0113] The value "sbrPitchInBinsFlag[ch]" controls the interpretation of the parameter sbrPitchInBins[ch]: 1 indicates that the value in sbrPitchInBins[ch] is valid and greater than zero; 0 indicates that the value of sbrPitchInBins[ch] is set to zero. The value "sbrPitchInBins[ch]" controls the addition of cross-product terms in the SBR harmonic transponder. The value sbrPitchinBins[ch] is an integer in the range [0,127] and represents the distance measured in frequency intervals for a 1536-line DFT acting on the core encoder's sampling frequency.

[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.[0114] In the case where an AAC MPEG-4 bitstream is indicative of a pair of SBR channels whose channels are not coupled (rather than a single SBR channel), the bitstream is indicative of two instances of the syntax above (for harmonic or non-harmonic transposition), one for each channel of the sbr_channel_pair_element(). Harmonic transposition by the eSBR tool typically improves the quality of music signals decoded at relatively low crossover frequencies. Non-harmonic transposition (i.e., legacy spectral patching) typically improves speech signals. Therefore, a starting point in deciding which type of transposition is preferable for encoding specific audio content is to select the transposition method based on the harmonic transposition used for speech/music detection in music content and the spectral patching used in velocity content.

[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.[0115] The performance of pre-flattening during eSBR processing is controlled by the value of a one-bit eSBR metadata parameter known as "bs_sbr_preprocessing," meaning that pre-flattening is performed or not depending on the value of this single bit. When using the QMF SBR patching algorithm, as described in Section 4.6.18.6.3 of the AAC MPEG-4 standard, the pre-flattening stage (when indicated by the "bs_sbr_preprocessing" parameter) may be performed in an effort to avoid discontinuities in the shape of the spectral envelope of a high-frequency signal being fed into a downstream envelope tuner (the envelope tuner performs another stage of eSBR processing). Pre-flattening typically improves the performance of the downstream envelope tuning stage, resulting in a high-band signal that is perceived as more stable.

[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:[0116] The general bit rate requirement for including eSBR metadata indicative of the aforementioned eSBR tools (harmonic transposition and pre-flattening) in an AAC MPEG-4 bitstream is expected to be on the order of a few hundred bits per second because only the differential control data necessary to perform eSBR processing according to some embodiments of the invention is transmitted. Legacy decoders can ignore this information because it is included in a backward-compatible manner (as will be explained later). Therefore, the detrimental effect on bit rate associated with the inclusion of eSBR metadata is negligible, for a number of reasons, including the following:

[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[0117] • The bit rate penalty (due to the inclusion of eSBR metadata) is a very small fraction of the total bit rate because only the differential control data necessary to perform eSBR processing is transmitted (and not a simultaneous transmission of the SBR control data); and

[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.[0118] • The adjustment of control information related to SBR normally does not depend on the details of the transposition. Examples of when control data depends on the operation of the transponder are discussed later in this application.

[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.[0119] Therefore, the embodiments of the invention provide a means for efficiently transmitting enhanced spectral band replication (eSBR) control data or metadata in a backward-compatible manner. This efficient transmission of eSBR control data reduces the memory requirements in decoders, encoders, and transcoders employing aspects of the invention, while having no tangible adverse effect on the bit rate. Furthermore, the complexity and processing requirements associated with the realization of eSBR according to the embodiments of the invention are also reduced because the SBR data only needs to be processed once and not in simultaneous transmission, which would be the case if eSBR were treated as a completely separate object type in AAC MPEG-4 instead of being integrated into the AAC MPEG-4 codec in a backward-compatible manner.

[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.[0120] The following describes, with reference to Figure 7, elements of a block ("raw_data_block") of an AAC MPEG-4 bitstream containing eSBR metadata according to some embodiments of the present invention. Figure 7 is a diagram of a block ("raw_data_block") of the AAC MPEG-4 bitstream, showing some of its segments.

[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").[0121] A block of an AAC MPEG-4 bitstream may include at least one "single_channel_element()" (e.g., the single-channel element shown in Figure 7), and/or at least one "channel_pair_element()" (not specifically shown in Figure 7, although it may be present), which contain audio data for an audio program. The block may also include a number of "fill_elements" (e.g., Fill Element 1 and/or Fill Element 2 in Figure 7) which contain data (e.g., metadata) related to the program. Each "single_channel_element()" includes an identifier (e.g., "ID1" in Figure 7) that indicates the start of a single-channel element, and may contain audio data indicative of a different channel in a multichannel audio program. Each "channel_pair_element" includes an identifier (not shown in Figure 7) that indicates the start of a channel pair element and may include audio data indicative of two program channels. A fill_element (referred to herein as a fill element) of an AAC MPEG-4 bitstream includes an identifier ("ID2" in Figure 7) that indicates the start of a fill element, and fill data following the identifier. The identifier ID2 consists of a three-bit unsigned integer, transmitted most significant bit first ("uimsbf"), which has a value of 0x6. The fill data includes an extension_payload() element (sometimes referred to herein as an extension payload), the syntax of which is shown in Table 4.57 of the AAC MPEG-4 standard. There are several types of extension payloads, and they are identified by the "extension_type" parameter, which is a four-bit unsigned integer, transmitted most significant bit first ("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.[0122] Padding data (for example, an extension payload thereof) includes a header or identifier (for example, "header1" in Figure 7) that indicates a segment of padding data that is indicative of an SBR object (i.e., the header initializes an "SBR object" type, named sbr_extension_data() in the AAC MPEG-4 standard). A Spectral Band Replication (SBR) extension payload is identified by the value '1101' or '1110' for the extension_type field in the header, with the identifier '1101' identifying an extension payload with SBR data and '1110' identifying an extension payload with SBR data that has a cyclic redundancy check (CRC) to verify the correctness of the SBR data.

[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).[0123] When the header (for example, the extension_type field) initializes an SBR object type, the SBR metadata (sometimes referred to herein as "spectral band replication data" and denoted sbr_data() in the AAC MPEG-4 standard) follows the header, and at least one spectral band replication extension element (for example, the "SBR extension element" of padding element 1 in Figure 7) may follow the SBR metadata. Such a spectral band replication extension element (a segment of the bitstream) is called the "sbr_extension()" container in the AAC MPEG-4 standard. A spectral band replication extension element optionally includes a header (for example, the "SBR extension header" of padding element 1 in Figure 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.[0125] The AAC MPEG-4 standard stipulates that a spectral band replication extension element may include PS (parametric stereo) data for program audio data. The AAC MPEG-4 standard stipulates that when the header of a filler element (e.g., of an extension payload of the same) initializes an SBR object type (as does "header1" in Figure 7) and a spectral band replication extension element of the filler element includes PS data, the filler element (e.g., the extension payload of the same) includes spectral band replication data and a parameter "bs_extension_id" whose value (i.e., bs_extension_id = 2) indicates that PS data is included in a spectral band replication extension element of the filler element.

[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.[0127] According to some embodiments of the present invention, eSBR metadata (e.g., an indicator indicating whether enhanced spectral band replication (eSBR) processing should be performed on block audio content) is included in a spectral band replication extension element of a filler element. For example, such an indicator is indicated in filler element 1 of Figure 7, where the indicator occurs after the header (the "SBR extension header" of filler element 1) of the "SBR extension element" of filler element 1. Optionally, such an indicator and additional eSBR metadata are included in a spectral band replication extension element after the header of the spectral band replication extension element (e.g., in the SBR extension element of filler element 1 in Figure 7, after the SBR extension header). According to some embodiments of the present invention, a padding element that includes eSBR metadata also includes a parameter "bs_extension_id" whose value (e.g., bs_extension_id = 3) indicates that the eSBR metadata is included in the padding element and that the eSBR processing should be performed on the relevant block's audio content.

[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).[0129] According to some embodiments of the invention, the eSBR metadata is included in a padding element (e.g., padding element 2 in Figure 7) of an AAC MPEG-4 bitstream distinct from a spectral band replication extension element (SBR extension element) of the padding element. This is because padding elements containing an extension_payload() with SBR data or SBR data with CRC do not contain any other extension payload of any other type of extension. Therefore, in embodiments where the eSBR metadata is stored with its own extension payload, a separate padding element is used to store the eSBR metadata. Such a padding element includes an identifier (e.g., "ID2" in Figure 7) that indicates the start of a padding element, and padding data following the identifier. Padding data may include an extension_payload() element (sometimes referred to herein as an extension payload) whose syntax is shown in Table 4.57 of the AAC MPEG-4 standard. Padding data (for example, an extension payload thereof) includes a header (for example, "header2" of padding element 2 in Figure 7) that is indicative of an eSBR object (i.e., the header initializes an Enhanced Spectral Band Replication (eSBR) object type), and the padding data (for example, an extension payload thereof) includes eSBR metadata after the header. For example, padding element 2 in Figure 7 includes such a header ("header2") and also includes, after the header, eSBR metadata (i.e., the "flag" in padding element 2, which is indicative of whether Enhanced Spectral Band Replication (eSBR) processing should be performed on the block's audio content). Optionally, additional eSBR metadata is also included in the padding data of padding element 2 in Figure 7, after header2. In the embodiments described in this paragraph, the header (e.g., header2 in Figure 7) has an identification value that is not one of the conventional values specified in Table 4.57 of the AAC MPEG-4 standard, and is instead indicative of an eSBR extension payload (so that the header's extension_type field indicates that the padding data includes eSBR metadata).

[0131] En una primera clase de realizaciones, la invención es una unidad de procesamiento de audio (por ejemplo, un decodificador), que comprende:[0131] In a first class of embodiments, the invention is an audio processing unit (for example, a decoder), comprising:

[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);[0133] a memory (for example, buffer 201 in Figure 3 or 4) configured to store at least one block of an encoded audio bitstream (for example, at least one block of an AAC MPEG-4 bitstream);

[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[0135] a bitstream payload deformatter (for example, item 205 in Figure 3 or item 215 in Figure 4) coupled to memory and configured to demultiplex at least a portion of said bitstream block; and

[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:[0136] a decoding subsystem (for example, elements 202 and 203 in Figure 3, or elements 202 and 213 in Figure 4), coupled and configured to decode at least a portion of the audio content of said bitstream block, wherein the block includes:

[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:[0137] a padding element, which includes an identifier indicating the start of the padding element (for example, the identifier "id_syn_ele" having a value of 0x6, from Table 4.85 of the AAC MPEG-4 standard), and padding data after the identifier, wherein the padding data includes:

[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).[0138] at least one indicator that identifies whether enhanced spectral band replication (eSBR) processing should be performed on the block's audio content (e.g., using spectral band replication data and eSBR metadata included in the block).

[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.[0139] The indicator is eSBR metadata, and an example of the indicator is the sbrPatchingMode indicator. Another example of the indicator is the harmonicSBR indicator. Both indicators indicate whether a basic form of spectral band replication or an enhanced form of spectral band replication should be performed on the block's audio data. The basic form of spectral replication is spectral patching, and the enhanced form of spectral band replication is harmonic transposition.

[0140] En algunas realizaciones, los datos de relleno también incluyen metadatos de eSBR adicionales (es decir, metadatos de eSBR distintos del indicador).[0140] In some realizations, the fill data also includes additional eSBR metadata (i.e., eSBR metadata other than the indicator).

[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):[0141] The memory may be a buffer (e.g., an implementation of buffer 201 in Figure 4) that stores (e.g., non-transiently) at least one block of the encoded audio bitstream. The estimated performance complexity of eSBR processing (using eSBR harmonic transposition and pre-flattening) by an eSBR decoder during the decoding of an AAC MPEG-4 bitstream that includes eSBR metadata (indicative of these eSBR tools) would be as follows (for typical decoding with the indicated parameters):

[0142] • Transposición armónica (16 kbps, 14400/28800 Hz)[0142] • Harmonic transposition (16 kbps, 14400/28800 Hz)

[0143] ∘ Basado en DFT: 3.68 WMOPS (millones de operaciones ponderadas por segundo);[0143] ∘ Based on DFT: 3.68 WMOPS (million weighted operations per second);

[0144] ∘ Basado en QMF: 0.98 WMOPS;[0144] ∘ Based on QMF: 0.98 WMOPS;

[0145] • Preprocesamiento de parcheo QMF (preaplanamiento): 0.1WMOPS.[0145] • QMF patch preprocessing (pre-flattening): 0.1WMOPS.

[0146] Se conoce que la transposición basada en DFT generalmente funciona mejor que la transposición basada en QMF para transitorios.[0146] DFT-based transposition is generally known to work better than QMF-based transposition for transients.

[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:[0147] According to some embodiments of the present invention, a padding element (of an encoded audio bitstream) that includes eSBR metadata also includes a parameter (e.g., a "bs_extension_id" parameter) whose value (e.g., bs_extension_id = 3) indicates that eSBR metadata is included in the padding element and that eSBR processing is to be performed on the relevant block's audio content, and/or a parameter (e.g., the same "bs_extension_id" parameter) whose value (e.g., bs_extension_id = 2) indicates that an sbr_extension() container of the padding element includes PS data. For example, as shown in Table 1 below, a parameter with the value bs_extension_id = 2 can indicate that a padding element's sbr_extension() container includes PS data, and a parameter with the value bs_extension_id = 3 can indicate that a padding element's sbr_extension() container includes eSBR metadata:

[0148] Tabla 1[0148] Table 1

[0151] [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):[0154] According to some embodiments of the invention, the syntax of each spectral band replication extension element that includes eSBR metadata and/or PS data is as indicated in Table 2 below (where "sbr_extension()" indicates a container that is the spectral band replication extension element, "bs_extension_id" is as described in Table 1 above, "ps_data" indicates PS data and "esbr_data" indicates eSBR metadata):

[0155] Tabla 2[0155] Table 2

[0158] [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:[0160] In an example implementation, esbr_data() referenced in Table 2 above is indicative of values for the following metadata parameters:

[0161] 1. el parámetro de metadatos de un bit, "bs_sbr_preprocessing"; y[0161] 1. the one-bit metadata parameter, "bs_sbr_preprocessing"; and

[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]".[0162] 2. For each channel ("ch") of audio content in the encoded bitstream to be decoded, each of the parameters described above: "sbrPatchingMode[ch]"; "sbrOversamplingFlag[ch]"; "sbrPitchInBinsFlag[ch]"; and "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:[0163] For example, in some implementations, esbr_data() may have the syntax indicated in Table 3, to indicate these metadata parameters:

[0164] Tabla 3[0164] Table 3

[0166] [0166]

[0167] [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.[0170] The syntax above allows for the efficient implementation of an enhanced form of spectral band replication, such as harmonic transposition, as an extension of a legacy decoder. Specifically, the eSBR data in Table 3 includes only those parameters necessary to perform the enhanced form of spectral band replication that are not already supported in the bitstream or directly derivable from parameters already supported in the bitstream. All other parameters and processing data required to perform the enhanced form of spectral band replication are extracted from pre-existing parameters at predefined locations in the bitstream.

[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.[0172] For example, an MPEG-4 HE-AAC or HE-AAC v2 compliant decoder can be extended to include an enhanced form of spectral band replication, such as harmonic transposition. This enhanced form of spectral band replication is in addition to the base form of spectral band replication already supported by the decoder. In the context of an MPEG-4 HE-AAC or HE-AAC v2 compliant decoder, this base form of spectral band replication is the QMF spectral patching SBR tool as defined in Section 4.6.18 of the MPEG-4 AAC standard.

[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.[0174] When the enhanced form of spectral band replication is performed, an extended HE-AAC decoder can reuse many of the bitstream parameters already included in the bitstream SBR extension payload. Specific parameters that can be reused include, for example, the various parameters that determine the master frequency band table. These parameters include bs_start_freq (the parameter that determines the start of the master frequency table), bs_stop_freq (the parameter that determines the stop of the master frequency table), bs_freq_scale (the parameter that determines the number of frequency bands per octave), and bs_alter_scale (the parameter that alters the scale of the frequency bands). Parameters that can be reused also include parameters that determine the noise band table (bs_noise_bands) and the limiter band table (bs_limiter_bands). Therefore, in various implementations, at least some of the equivalent parameters specified in the USAC standard are omitted from the bitstream, thus reducing the control overhead in the bitstream. Typically, when a parameter specified in the AAC standard has an equivalent parameter specified in the USAC standard, the equivalent parameter specified in the USAC standard has the same name as the parameter specified in the AAC standard, for example, the envelope scaling factor E<OrigMapped>. However, the equivalent parameter specified in the USAC standard usually has a different value, which is "tuned" for the enhanced SBR processing defined in the USAC standard rather than the SBR processing defined in the AAC standard.

[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.[0176] To improve the subjective quality of audio content with a strong harmonic frequency structure and tonal characteristics, particularly at low bitrates, the activation of enhanced SBR is recommended. The values of the corresponding bitstream element (i.e., esbr_data()), which control these tools, can be determined in the encoder by applying a signal-dependent sorting mechanism. In general, the use of the harmonic patching method (sbrPatchingMode = 1) is preferable for encoding music signals at very low bitrates, where the core codec may be considerably limited in audio bandwidth. This is especially true if these signals include a pronounced harmonic structure. Conversely, the use of the regular SBR patching method is preferred for speech and mixed signals, as it provides better preservation of temporal structure in speech.

[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.[0178] To improve the performance of the harmonic transponder, a preprocessing stage (bs_sbr_preprocessing == 1) can be activated. This stage attempts to prevent the introduction of spectral discontinuities in the signal entering the subsequent envelope adjuster. This feature is beneficial for signal types where the thick spectral envelope of the low-band signal used for high-frequency reconstruction exhibits large level variations.

[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.[0180] In order to improve the transient response of the harmonic SBR patch, an adaptive frequency-domain signal oversampling (sbrOversamplingFlag= = 1) can be applied. Since adaptive frequency-domain signal oversampling increases the computational complexity of the transponder, but only provides benefits for frames containing transients, the use of this tool is controlled by the bitstream element, which is transmitted once per frame and per independent SBR channel.

[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.[0182] A decoder operating in the proposed enhanced SBR mode typically needs to be able to switch between legacy and enhanced SBR patching. Therefore, a delay may be introduced that can be as long as the duration of a core audio frame, depending on the decoder configuration. Typically, the delay for both legacy and enhanced SBR patching will be 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.[0184] In addition to the numerous parameters, other data elements can also be reused by an enhanced HE-AAC decoder when performing an improved form of spectral band replication according to the embodiments of the invention. For example, envelope data and background noise data can also be extracted from the bs_data_env (envelope scaling factors) and bs_noise_env (background noise scaling factors) data and used during the enhanced form of spectral band replication.

[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.[0186] In essence, these implementations leverage the configuration parameters and envelope data already supported by a legacy HE-AAC or HE-AAC v2 decoder in the SBR extension payload to enable an enhanced form of spectral band replication that requires the least amount of additional transmitted data. The metadata was originally tuned for a base form of HFR (e.g., SBR's spectral translation operation), but according to implementations, it is used for an enhanced form of HFR (e.g., eSBR's harmonic transposition). As discussed above, the metadata typically represents operating parameters (e.g., envelope scaling factors, background noise scaling factors, time/frequency grid parameters, sinusoid addition information, variable crossover frequency/band, inverse filtering mode, envelope resolution, smoothing mode, frequency interpolation mode) tuned and intended for use with the base form of HFR (e.g., linear spectral translation). However, this metadata, combined with additional metadata parameters specific to the enhanced form of HFR (e.g., harmonic transposition), can be used to efficiently and effectively process audio data using the enhanced form of 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.[0187] Consequently, extended decoders that support an enhanced form of spectral band replication can be created very efficiently by relying on already defined bitstream elements (for example, those in the SBR extension payload) and adding only the parameters necessary to support the enhanced form of spectral band replication (in a padding element extension payload). This data reduction feature, combined with placing the newly added parameters in a reserved data field, such as an extension container, substantially lowers the barriers to creating a decoder that supports an enhanced form of spectral band replication while ensuring that the bitstream is backward compatible with the legacy decoder that does not support the enhanced form of spectral band replication. It will be appreciated that the reserved data field is a backward-compatible data field; that is, it is a data field that is already compatible with earlier decoders, such as legacy HE-AAC or HE-AAC v2 decoders. Similarly, the extension container is backward compatible, meaning that it is an extension container that is already compatible with previous decoders, such as legacy HE-AAC or HE-AAC v2 decoders.

[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.[0188] In Table 3, the number in the right-hand column indicates the number of bits of the corresponding parameter in the left-hand column.

[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.[0189] In some implementations, the SBR object type defined in AAC MPEG-4 is updated to contain the SBR tool and aspects of the enhanced SBR tool (eSBR) as indicated in the SBR extension element (bs_extension_id== EXTENSION_ID_ESBR). If a decoder detects this SBR extension element, the decoder uses the signaled aspects of the enhanced SBR tool.

[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.[0190] In some embodiments, the invention is a method that includes an audio data encoding step to generate an encoded bitstream (e.g., an AAC MPEG-4 bitstream), which includes embedding eSBR metadata in at least one segment of at least one block of the encoded bitstream and audio data in at least one other segment of the block. In typical embodiments, the method includes a multiplexing step of the audio data with the eSBR metadata in each block of the encoded bitstream. In the typical decoding of the encoded bitstream in an eSBR decoder, the decoder extracts the eSBR metadata from the bitstream (which includes parsing and demultiplexing the eSBR metadata and the audio data) and uses the eSBR metadata to process the audio data to generate a decoded audio data stream.

[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.[0191] Another aspect of the invention is an eSBR decoder configured to perform eSBR processing (e.g., using at least one of the eSBR tools known as harmonic transposition or pre-flattening) during the decoding of an encoded audio bitstream (e.g., an AAC MPEG-4 bitstream) that does not include eSBR metadata. An example of such a decoder will be described with reference to Figure 5.

[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).[0192] The eSBR decoder (400) in Figure 5 includes a buffer 201 (which is identical to the buffer 201 in Figures 3 and 4), a bitstream payload deformatter 215 (which is identical to the deformatter 215 in Figure 4), an audio decoding subsystem 202 (sometimes called the "core" decoding stage or "core" decoding subsystem, and which is identical to the core decoding subsystem 202 in Figure 3), an eSBR control data generation subsystem 401, and an eSBR processing stage 203 (which is identical to stage 203 in Figure 3), connected as shown. Typically, the decoder 400 also includes other processing elements (not shown).

[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.[0193] In the operation of decoder 400, a sequence of blocks from an encoded audio bitstream (an AAC MPEG-4 bitstream) received by decoder 400 is asserted from buffer 201 to deformattor 215. Formatter 215 is coupled and configured to demultiplex each block of the bitstream to extract SBR metadata (including quantized envelope data) and typically other metadata as well. Formatter 215 is configured to assert at least the SBR metadata to the eSBR processing stage 203. Formatter 215 is also coupled and configured to extract audio data from each block of the bitstream and to assert the extracted audio data to the decoding subsystem (decoding stage) 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.[0194] The audio decoding subsystem 202 of the decoder 400 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as the "core" decoding operation) to generate decoded audio data and to assert the decoded audio data in the eSBR processing stage 203. The decoding is performed in the frequency domain. Typically, a final processing stage in subsystem 202 applies a frequency-domain to time-domain transform to the decoded frequency-domain audio data, so that the output of the subsystem is decoded time-domain audio data. Stage 203 is configured to apply SBR tools (and eSBR tools) indicated by the SBR metadata (extracted by deformatter 215) and by the eSBR metadata generated in subsystem 401, to the decoded audio data (i.e., to perform SBR and eSBR processing on the output of decoding subsystem 202 using the SBR and eSBR metadata) to generate the fully decoded audio data that is output from decoder 400. Typically, decoder 400 includes a memory (accessible by subsystem 202 and stage 203) that stores the deformatted audio data and metadata output from deformatter 215 (and optionally also subsystem 401), and stage 203 is configured to access the audio data and metadata as needed during SBR and eSBR processing. SBR processing in stage 203 can be considered as post-processing at the output of the core decoding subsystem 202. Optionally, the decoder 400 also includes a final upmix subsystem (which can apply parametric stereo tools ("PS") defined in the AAC MPEG-4 standard, using PS metadata extracted by the deformatter 215) that is coupled and configured to perform upmixing at the output of stage 203 to generate fully decoded and upmixed audio that is output from the 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:[0196] Parametric stereo is an encoding tool that represents a stereo signal using a linear downmix of the left and right channels of the stereo signal and sets of spatial parameters that describe the stereo image. Parametric stereo typically employs three types of spatial parameters: (1) inter-channel intensity differences (IID), which describe the intensity differences between the channels; (2) inter-channel phase differences (IPD), which describe the phase differences between the channels; and (3) inter-channel coherence (ICC), which describes the coherence (or similarity) between the channels. Coherence can be measured as the maximum cross-correlation as a function of time or phase. These three parameters generally allow for high-quality reconstruction of the stereo image. However, IPD parameters only specify the relative phase differences between the channels of the stereo input signal and do not indicate the distribution of these phase differences across the left and right channels. Therefore, a fourth type of parameter, which describes an overall phase shift or overall phase difference (OPD), can be used in addition. In the stereo reconstruction process, consecutive window segments of both the received downmix signal, s[n], and a decorrelated version of the received downmix, d[n], are processed together with the spatial parameters to generate the reconstructed left (l<k>(n)) and right (r<k>(n)) signals according to:

[0199] [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.[0202] where H<11>, H<12>, H<21> and H<22> are defined by the stereo parameters. The signals l<k>(n) and r<k>(n) are finally transformed back to the time domain by means of a frequency-to-time transform.

[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.[0204] The control data generation subsystem 401 of Fig. 5 is coupled and configured to detect at least one property of the encoded audio bitstream to be decoded, and to generate eSBR control data (which may be or may include eSBR metadata of any of the types included in encoded audio bitstreams according to other embodiments of the invention) in response to at least one result of the detection step. The eSBR control data is asserted in step 203 to trigger the application of individual eSBR tools or combinations of eSBR tools upon detecting a specific property (or combination of properties) of the bitstream, and/or to control the application of such eSBR tools. For example, to control the performance of eSBR processing using harmonic transposition, some implementations of the control data generation subsystem 401 would include: a music detector (for example, a simplified version of a conventional music detector) to set the parameter sbrPatchingMode[ch] (and assert the parameter set in stage 203) in response to detecting whether the bitstream is indicative of music or not; a transient detector to set the parameter sbrOversamplingFlag[ch] (and assert the parameter set in stage 203) in response to detecting the presence or absence of transients in the audio content indicated by the bitstream; and/or a pitch detector to set the parameters sbrPitchInBinsFlag[ch] and sbrPitchInBins[ch] (and assert the parameters set in stage 203) in response to detecting the pitch of the audio content indicated by the bitstream. Other aspects of the invention are audio bitstream decoding methods performed by any embodiment of the decoder of the invention described in this and the preceding paragraph.

[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.[0206] Aspects of the invention include a method of encoding or decoding of the type that any embodiment of the APU, system, or device of the invention is configured (e.g., programmed) to perform. Other aspects of the invention include a system or device configured (e.g., programmed) to perform any embodiment of the method of the invention, and a computer-readable medium (e.g., a disk) that stores code (e.g., non-transiently) for implementing any embodiment of the method of the invention or steps thereof. For example, the system of the invention may be or include a programmable general-purpose processor, a digital signal processor, or a microprocessor, programmed with software or firmware and/or otherwise configured to perform any of a variety of operations on data, including an embodiment of the method of the invention or steps thereof. Said general-purpose processor may be or include a computer system that includes an input device, memory, and processing circuits programmed (and/or otherwise configured) to perform an embodiment of the method of the invention (or steps thereof) in response to data stated therein.

[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.[0208] The embodiments of the present invention can be implemented in hardware, firmware, or software, or a combination thereof (e.g., as a programmable logic array). Unless otherwise specified, the algorithms or processes included as part of the invention are not inherently related to any particular computer or other apparatus. In particular, various general-purpose machines may be used with programs written according to the teachings of this document, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to carry out the required steps of the method. Therefore, the invention can be implemented in one or more computer programs running on one or more programmable computer systems (for example, an implementation of any of the elements in Figure 1, or the encoder 100 of Figure 2 (or an element thereof), or the decoder 200 of Figure 3 (or an element thereof), or the decoder 210 of Figure 4 (or an element thereof), or the decoder 400 of Figure 5 (or an element thereof)), each comprising at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. The program code is applied to the input data to perform the functions described herein and generate output information. The output information is applied to one or more output devices in a known manner.

[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.[0210] Each of these programs can be implemented in any desired computer language (including machine, assembly, or high-level procedural, logic, or object-oriented languages) to communicate with a computer system. In any case, the language can be either compiled or interpreted.

[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.[0212] For example, when implemented by means of computer software instruction sequences, various functions and stages of embodiments of the invention may be implemented by means of multi-threaded software instruction sequences running on suitable digital signal processing hardware, in which case the various devices, stages, and functions of the embodiments may correspond to parts of the software instructions.

[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.[0214] Each of these computer programs is preferably stored on or downloaded to a storage medium or device (e.g., memory or solid-state medium, or magnetic or optical medium) readable by a general-purpose or special-purpose programmable computer, to configure and operate the computer when the storage device or medium is read by the computer system to perform the procedures described herein. The system of the invention may also be implemented as a computer-readable storage medium configured with (i.e., storing) a computer program, wherein the storage medium so configured causes a computer system to operate in a specific and predefined manner to perform the functions described herein.

[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:[0216] Several embodiments of the invention have been described. However, it is understood that various modifications are possible. Numerous modifications and variations of the present invention are possible in view of prior teachings. For example, in order to facilitate efficient implementations, phase shifts may be used in combination with complex QMF analysis and synthesis filter banks. The analysis filter bank is responsible for filtering the low-band time-domain signal generated by the core decoder into a plurality of subbands (e.g., QMF subbands). The synthesis filter bank is responsible for combining the regenerated highband produced by the selected HFR technique (as indicated by the received sbrPatchingMode parameter) with the decoded lowband to produce a wideband output audio signal. However, a given filter bank implementation operating in a certain sample rate mode, e.g., normal double-rate operation or down-sampled SBR mode, must not have bitstream-dependent phase shifts. The QMF banks used in SBR are a complex-exponential extension of the theory of cosine-modulated filter banks. It can be shown that the alias cancellation restrictions become obsolete when the cosine-modulated filter bank is extended with complex-exponential modulation. Therefore, for the QMF banks of SBR, both the analysis filters, h<k>(n), and the synthesis filters, f<k>(n), can be defined by:

[0219] [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.[0222] where p<0>(n) is a real-valued symmetric or asymmetric prototype filter (typically a low-pass prototype filter), M denotes the number of channels, and N is the order of the prototype filter. The number of channels used in the analysis filter bank may differ from the number of channels used in the synthesis filter bank. For example, the analysis filter bank may have 32 channels, and the synthesis filter bank may have 64 channels. When the synthesis filter bank is operated in downsampling mode, it may have only 32 channels. Since the subband samples in the filter bank have a complex value, an additive, possibly channel-dependent, phase-shift stage may be added to the analysis filter bank. These additional phase shifts must be compensated before the synthesis filter bank. While the phase-shift terms can, in principle, be of arbitrary values without disrupting the operation of the QMF analysis/synthesis chain, they can also be restricted to certain values for compliance verification. The SBR signal will be affected by the choice of phase factors, while the low-pass signal from the core decoder will not. The audio quality of the output signal is unaffected.

[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.[0223] The prototype filter coefficients, p<0>(n), can be defined with a length, L, of 640, as shown in Table 4 below.

[0224] Tabla 4[0224] Table 4

[0227] [0227]

[0228] [0228]

[0229] [0229]

[0230] [0230]

[0231] [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.[0234] The prototype filter, p<0>(n), can also be derived from Table 4 by one or more mathematical operations such as rounding, subsampling, interpolation, and decimation.

[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.[0236] Although the tuning of SBR-related control information does not typically depend on the transposition details (as discussed above), in some implementations certain elements of the control data can be simultaneously broadcast in the eSBR extension container (bs_extension_id ==EXTENSION_ID_ESBR) to improve the quality of the regenerated signal. Some of the simultaneously broadcast elements may include background noise data (e.g., background noise scaling factors and a parameter indicating the direction, either frequency or time, of delta encoding for each background noise), inverse filtering data (e.g., a parameter indicating the selected inverse filtering mode: non-inverse filtering, low inverse filtering, intermediate inverse filtering, and strong inverse filtering), and missing harmonic data (e.g., a parameter indicating whether a sinusoid should be added to a specific frequency band of the regenerated high band). All these elements are based on a synthesized emulation of the decoder's transponder performed in the encoder and, therefore, if tuned correctly for the selected transponder, it can increase the quality of the regenerated signal.

[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.[0238] Specifically, in some implementations, the missing harmonics and inverse filter control data are transmitted in the eSBR extension container (along with the other bitstream parameters in Table 3) and tuned for the eSBR harmonic transponder. The additional bit rate required to transmit these two types of metadata for the eSBR harmonic transponder is relatively low. Therefore, sending tuned inverse filter control data and/or missing harmonics in the eSBR extension container will increase the quality of the audio produced by the transponder while only minimally affecting the bit rate. To ensure backward compatibility with legacy decoders, the tuned parameters for the SBR spectral translation operation can also be sent in the bitstream as part of the SBR control data using implicit or explicit signaling.

Claims (7)

1. REIVINDICACIONES1. CLAIMS 1. Método para realizar reconstrucción de alta frecuencia de una señal de audio, comprendiendo el método:1. Method for performing high-frequency reconstruction of an audio signal, the method comprising: 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;receive an encoded audio bitstream, including the encoded audio bitstream audio data representing a low-band portion of the audio signal and high-frequency reconstruction metadata; 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;decode the audio data to generate a decoded low-band audio signal; extract from the encoded audio bitstream the high-frequency reconstruction metadata, including the high-frequency reconstruction metadata operating parameters for a high-frequency reconstruction process, including the operating parameters a patch mode parameter located in a backward-compatible extension container of the encoded audio bitstream, wherein a first patch mode parameter value indicates spectral translation and a second patch mode parameter value indicates harmonic transposition by voice coder frequency propagation by phase; 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; yfilter the decoded low-band audio signal to generate a filtered low-band audio signal; regenerate a high-band portion of the audio signal using the filtered low-band audio signal and the high-frequency reconstruction metadata, wherein the regeneration includes spectral translation if the patch mode parameter is the first value and the regeneration includes harmonic transposition by means of phase-encoder frequency propagation if the patch mode parameter is the second value; and 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;combine the filtered low-band audio signal with the regenerated high-band portion to form a wideband audio signal; caracterizado porquecharacterized by 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.The encoded audio bitstream further includes a padding element with an identifier indicating the start of the padding element and padding data following the identifier, wherein the identifier is a three-bit unsigned integer transmitted first as the most significant bit and having a value of 0x6, wherein the padding data includes the backward-compatible extension container, wherein the padding data includes an extension payload, the extension payload includes spectral band replication extension data, and the extension payload is identified by a four-bit unsigned integer transmitted first as the most significant bit and having a value of '1101' or '1110', and wherein the backward-compatible extension container further includes a flag indicating whether additional preprocessing is used to avoid discontinuities in the form of a spectral envelope of the high-band portion when the patch mode parameter is equal to the first value, wherein a first value of the flag enables additional preprocessing and a second value of the flag disables additional preprocessing. 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:2. Method according to claim 1, wherein the filtering is performed by means of a bank of analysis filters that includes analysis filters, h<k>(n), which are modulated versions of a prototype filter, p<0>(n), according to: 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.where p<0>(n) is a real-valued symmetric or asymmetric prototype filter, M is a number of channels in the analysis filter bank, and N is an order of the prototype filter. 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:3. Method according to claim 2, wherein the prototype filter, p<0>(n), is derived from coefficients in the table: 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.4. Method according to claim 2, wherein the prototype filter, p<0>(n), is derived from the coefficients of the table defined in claim 3 by means of one or more mathematical operations selected from the group consisting of rounding, subsampling, interpolation or decimation. 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.5. Method according to any of claims 1-4, wherein a phase shift is added to the filtered low-band audio signal after filtering and compensated before combining to reduce the complexity of the method. 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.6. A non-transient, computer-readable medium containing instructions that, when executed by a processor, carry out the method according to any one of claims 1 to 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:7. Audio processing unit for performing high-frequency reconstruction of an audio signal, the audio processing unit comprising: 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;an input interface for receiving an encoded audio bitstream, including the encoded audio bitstream audio data representing a low-band portion of the audio signal and high-frequency reconstruction metadata; 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;a core audio decoder (202) to decode the audio data to generate a decoded low-band audio signal; 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;a deformatter (205, 215) extract from the encoded audio bitstream the high-frequency reconstruction metadata, including the high-frequency reconstruction metadata operating parameters for a high-frequency reconstruction process, including the operating parameters a patch mode parameter located in a backward-compatible extension container of the encoded audio bitstream, wherein a first patch mode parameter value indicates spectral translation and a second patch mode parameter value indicates harmonic transposition by voice coder frequency propagation by phase; 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;an analysis filter bank (203, 213) to filter the decoded low-band audio signal to generate a filtered low-band audio signal; 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; ya high-frequency regenerator (203, 213) for reconstructing a high-band portion of the audio signal using the filtered low-band audio signal and the high-frequency reconstruction metadata, wherein the reconstruction includes a spectral translation if the patch mode parameter is the first value and the reconstruction includes harmonic transposition by means of phase-encoder frequency propagation if the patch mode parameter is the second value; and 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;a bank of synthesis filters (203, 213) to combine the filtered low-band audio signal with the regenerated high-band portion to form a wideband audio signal; caracterizado porquecharacterized by 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.The encoded audio bitstream further includes a padding element with an identifier indicating the start of the padding element and padding data following the identifier, wherein the identifier is a three-bit unsigned integer transmitted first as the most significant bit and having a value of 0x6, wherein the padding data includes the backward-compatible extension container, wherein the padding data includes an extension payload, the extension payload includes spectral band replication extension data, and the extension payload is identified by a four-bit unsigned integer transmitted first as the most significant bit and having a value of '1101' or '1110', and because the backward-compatible extension container further includes a flag indicating whether additional preprocessing is used to avoid discontinuities in the form of a spectral envelope of the high-band portion when the patch mode parameter is equal to the first value, wherein a first value of the flag enables additional preprocessing and a second value of the flag disables additional preprocessing.
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 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high-frequency reconstruction techniques for audio signals
ES23210524T Active ES3029582T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES21164481T Active ES2924955T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high-frequency reconstruction techniques for audio signals
ES23210523T Active ES3032614T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22181854T Active ES2948839T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high frequency reconstruction techniques for audio signals
ES25165036T Active ES3069239T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22189216T Active ES2969225T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high frequency reconstruction techniques for audio signals

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 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high-frequency reconstruction techniques for audio signals
ES23210524T Active ES3029582T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES21164481T Active ES2924955T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high-frequency reconstruction techniques for audio signals
ES23210523T Active ES3032614T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22181854T Active ES2948839T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high frequency reconstruction techniques for audio signals
ES25165036T Active ES3069239T3 (en) 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals
ES22189216T Active ES2969225T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high frequency reconstruction techniques for audio signals

Country Status (6)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113113032B (en) * 2020-01-10 2024-08-09 华为技术有限公司 Audio encoding and decoding method and audio encoding and decoding device
CN113192523B (en) * 2020-01-13 2024-07-16 华为技术有限公司 Audio coding and decoding method and audio coding and decoding device
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 (en) * 1991-12-13 2002-07-15 株式会社デンソー Spark plug for internal combustion engine and method of manufacturing the same
TWI879690B (en) * 2015-03-13 2025-04-01 瑞典商杜比國際公司 Audio processing unit, method for decoding an encoded audio bitstream, and non-transitory computer readable medium

Also Published As

Publication number Publication date
PL3518233T3 (en) 2021-08-16
DK3872809T3 (en) 2022-08-22
EP4303869A2 (en) 2024-01-10
ES3030182T3 (en) 2025-06-26
HUE054531T2 (en) 2021-09-28
HUE062211T2 (en) 2023-10-28
EP4550314C0 (en) 2026-03-18
PL4550315T3 (en) 2026-06-01
DK4099325T3 (en) 2023-06-19
FI4120261T3 (en) 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 (en) 2026-05-25
EP4303871A2 (en) 2024-01-10
EP4120261B1 (en) 2023-11-29
HUE071338T2 (en) 2025-08-28
EP4550317C0 (en) 2026-03-18
ES2924955T3 (en) 2022-10-11
ES3069239T3 (en) 2026-06-04
DK3518233T3 (en) 2021-05-10
PL4303869T3 (en) 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 (en) 2023-08-14
ES3032614T3 (en) 2025-07-22
EP4550315B1 (en) 2026-03-18
PL4303871T3 (en) 2025-07-14
HUE065166T2 (en) 2024-05-28
FI4099325T3 (en) 2023-06-13
PL4550314T3 (en) 2026-05-25
EP4303869C0 (en) 2025-05-07
EP4303870A2 (en) 2024-01-10
PL4303870T3 (en) 2025-06-30
PL3872809T3 (en) 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 (en) 2021-11-02
EP4550314A3 (en) 2025-05-28
EP4303871B1 (en) 2025-05-07
ES2969225T3 (en) 2024-05-17
ES3029582T3 (en) 2025-06-24
DK4120261T3 (en) 2024-01-22
HUE071389T2 (en) 2025-08-28
EP4303870C0 (en) 2025-04-30
PL4120261T3 (en) 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 (en) 2025-09-28
EP4769390A3 (en) 2026-08-19
EP4550317A2 (en) 2025-05-07
ES3067484T3 (en) 2026-05-22
PL4550316T3 (en) 2026-05-25
EP4099325B1 (en) 2023-05-17
ES2948839T3 (en) 2023-09-20
HUE059669T2 (en) 2022-12-28
EP4303871A3 (en) 2024-03-20