ES3030182T3 - 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
ES3030182T3
ES3030182T3 ES23210525T ES23210525T ES3030182T3 ES 3030182 T3 ES3030182 T3 ES 3030182T3 ES 23210525 T ES23210525 T ES 23210525T ES 23210525 T ES23210525 T ES 23210525T ES 3030182 T3 ES3030182 T3 ES 3030182T3
Authority
ES
Spain
Prior art keywords
audio
sbr
data
bitstream
esbr
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
ES23210525T
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 ES3030182T3 publication Critical patent/ES3030182T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (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. Además, incluye la extracción de metadatos de reconstrucción de alta frecuencia y el filtrado de 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. El método también incluye la extracción de un indicador que indica si se debe realizar una traslación espectral o una transposición armónica en los datos de audio y la regeneración de 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 el 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 lowband audio signal. It also includes extracting high-frequency reconstruction metadata and filtering the decoded lowband audio signal with an analysis filter bank to generate a filtered lowband audio signal. The method also includes extracting a flag indicating whether spectral translation or harmonic transposition should be performed on the audio data and regenerating a highband portion of the audio signal using the filtered lowband audio signal and the high-frequency reconstruction metadata according to the flag. (Automatic translation with Google Translate, no legal value)

Description

DESCRIPCIÓNDESCRIPTION

Integración compatible retroactivamente de técnicas de reconstrucción de alta frecuencia para señales de audio Backward-compatible integration of high-frequency reconstruction techniques for audio signals

Referencia cruzada a la solicitud relacionadaCross-reference to the related application

Esta solicitud es una solicitud europea divisional de la solicitud de patente Europea EP 22189216.9 (referencia: D17806EP04), para la que el formulario 1001 de la OEP fue presentado el 8 de agosto de 2022. This application is a divisional European application of European patent application EP 22189216.9 (reference: D17806EP04), for which EPO Form 1001 was filed on August 8, 2022.

Campo técnicoTechnical field

Las realizaciones pertenecen a un método y a una unidad de procesamiento de audio para realizar reconstrucción de alta frecuencia de una señal de audio. Embodiments pertain to a method and an audio processing unit for performing high frequency reconstruction of an audio signal.

Antecedentes de la invenciónBackground of the invention

Una corriente 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 del contenido de audio. Un formato bien conocido para generar una corriente de bits de audio codificado es el formato de Codificación de Audio Avanzada (AAC) MPEG-4, descrito en la norma MPEG ISO/IEC 14496-3: 2009. En la norma MPEG-4, AAC indica “codificación de audio avanzada” y HE-AAC indica “codificación de audio avanzada de alta eficiencia”. 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 the 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 stands for “Advanced Audio Coding” and HE-AAC stands for “High Efficiency Advanced Audio Coding”.

La norma MPEG-4 AAC define varios perfiles de audio, que determinan qué objetos y herramientas de codificación están presentes en un codificador o decodificador compatible. Tres de estos perfiles de audio son (1) el perfil de AAC, (2) el perfil de HE-AAC y (3) el perfil de HE-A<a>C v2. El perfil de<a>A<c>incluye el tipo de objeto de AAC de baja complejidad (o “AAC-LC”). El objeto de AAC-LC es el homólogo del perfil de baja complejidad MPEG-2 AAC, 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 de HE-AAC es un superconjunto del perfil de AAC y además incluye el tipo de objeto de SBR. El perfil de HE-AAC v2 es un superconjunto del perfil de HE-AAC y además incluye el tipo de objeto PS. The MPEG-4 AAC standard defines several audio profiles, which determine which coding objects and tools are present in a compliant 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 (or “AAC-LC”) object type. The AAC-LC object type is the counterpart to 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 also includes the SBR object type. The HE-AAC v2 profile is a superset of the HE-AAC profile and also includes the PS object type.

El tipo de objeto de 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ódec de audio de percepción. La 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 tasas de datos bajas. La SBR se basa en la replicación de las secuencias de armónicos, previamente truncadas para reducir la tasa de datos, a partir de la señal limitada de ancho de banda disponible y los datos de control obtenidos desde el codificador. La relación entre los componentes tonales y similares al ruido se mantiene mediante el filtrado inverso adaptativo, así como la adición opcional de ruido y sinusoidales. En la norma MPEG-4 AAC, la herramienta de SBR realiza el parcheado espectral (también llamado traslación lineal o traslación espectral), en el que se copian (o se “parchean”) varias subbandas consecutivas del Filtro de Espejo en Cuadratura (QMF) desde una porción de banda baja transmitida de una señal de audio a una porción de banda alta de la señal de audio, que se genera en el decodificador. The SBR object type contains the Spectral Band Replication tool, 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 low data rates. SBR is based on the replication of harmonic sequences, previously truncated to reduce the data rate, from the available bandwidth-limited signal and control data obtained from the encoder. The relationship between tonal and noise-like components is maintained through adaptive inverse filtering, as well as the optional addition of noise and sinusoidal noise. In the MPEG-4 AAC standard, the SBR tool performs spectral patching (also called linear translation or spectral translation), in which several 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 at the decoder.

El parcheado espectral o la traslación lineal pueden no ser ideales para ciertos tipos de audio, tales como el contenido musical con frecuencias de cruce relativamente bajas. Por lo tanto, se necesitan técnicas para mejorar la replicación de la banda espectral. 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.

El documento WO2016149015A1 se refiere a una unidad de procesamiento de audio que incluye una memoria intermedia, un desformateador de carga útil de corriente de bits y un subsistema de decodificación. La memoria intermedia almacena al menos un bloque de una corriente 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 se ha de realizar el procesamiento de replicación de banda espectral mejorada (eSBR) en el contenido de audio del bloque. También se proporciona un método correspondiente para decodificar una corriente de bits de audio codificado. Document WO2016149015A1 relates to an audio processing unit including a buffer, a bitstream payload deformatter, 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.

Breve descripción de realizaciones de la invenciónBrief description of embodiments of the invention

La presente descripción proporciona un método según 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. The present disclosure provides a method as detailed in claim 1. Also provided is a non-transitory computer-readable medium according to claim 6 and an audio processing unit according to claim 7. Advantageous features are provided in the dependent claims.

Breve descripción de los dibujosBrief description of the drawings

La figura 1 es un diagrama de bloques de una realización de un sistema que puede configurarse para llevar a cabo una realización del método de la invención. Figure 1 is a block diagram of an embodiment of a system that can be configured to carry out an embodiment of the method of the invention.

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

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 post-procesador acoplado a la misma. Figure 3 is a block diagram of a system including a decoder that is an embodiment of the audio processing unit of the invention and, optionally, also a post-processor coupled thereto.

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

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

La figura 6 es un diagrama de bloques de otra realización de la unidad de procesamiento de audio de la invención. Figure 6 is a block diagram of another embodiment of the audio processing unit of the invention.

La figura 7 es un diagrama de bloques de una corriente de bits MPEG-4 AAC, que incluye los segmentos en los que se divide. Figure 7 is a block diagram of an MPEG-4 AAC bitstream, including the segments it is divided into.

Notación y Nomenclatura Notation and Nomenclature

A lo largo de esta descripción, incluidas las reivindicaciones, la expresión realizar una operación “sobre” una señal o datos (por ejemplo, filtrar, escalar, transformar o aplicar ganancia a la señal o a los datos) se usa en un sentido amplio para indicar la realización de la operación directamente sobre la señal o datos, o sobre una versión procesada de la señal o datos (por ejemplo, sobre una versión de la señal que ha sido sometida a un filtrado preliminar o procesamiento previo antes de la realización de la operación sobre los mismos). Throughout this description, including the claims, the expression performing an operation “on” a signal or data (for example, filtering, scaling, transforming, or applying gain to the signal or data) is used in a broad sense to mean performing the operation directly on the signal or data, or on a processed version of the signal or data (for example, on a version of the signal that has been subjected to preliminary filtering or preprocessing before performing the operation thereon).

A lo largo de esta descripción, incluidas 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, entre otros, codificadores, transcodificadores, decodificadores, códec, sistemas de procesamiento previo, sistemas de post procesamiento y sistemas de procesamiento de corriente de bits (a veces denominados herramientas de procesamiento de corriente 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 un procesador de audio. Throughout this description, including the claims, the term “audio processing unit” or “audio processor” is used in a broad sense, to indicate 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, pre-processing systems, post-processing systems, and bitstream processing systems (sometimes referred to as bitstream processing tools). Virtually all consumer electronics products, such as mobile phones, televisions, laptops, and tablets, contain an audio processing unit or audio processor.

A lo largo de esta descripción, incluidas las reivindicaciones, el término “acopla” o “acoplado” se usa en un sentido amplio para significar una conexión, o bien directa, o bien 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 mediante otros dispositivos y conexiones. Además, los componentes que están integrados en o con otros componentes también están acoplados entre sí. Throughout this description, including the claims, the term "couples" or "coupled" is used broadly to mean either a direct or indirect connection. Thus, if a first device is coupled 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.

Descripción detallada de realizaciones de la invenciónDetailed description of embodiments of the invention

La norma MPEG-4 AAC contempla que una corriente de bits MPEG-4 AAC codificada incluye metadatos indicativos de cada tipo de procesamiento de reconstrucción de alta frecuencia (“HFR”) que se ha de aplicar (si se aplica alguno) mediante un decodificador para decodificar el contenido de audio de la corriente 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 se ha de emplear para decodificar el contenido de audio de la corriente de bits. En la presente memoria, se usa la expresión “metadatos de SBR” para indicar metadatos de este tipo que se describen o mencionan en la norma MPEG-4 AAC para su uso con la replicación de banda espectral (“SBR”). Como es apreciado por un experto en la técnica, SBR es una forma de HFR. The MPEG-4 AAC standard contemplates that an encoded MPEG-4 AAC bitstream includes metadata indicative of each type of high frequency reconstruction (“HFR”) processing to be applied (if any) by a decoder to decode the audio content of the bitstream, and/or that controls such HFR processing, and/or is indicative of at least one characteristic or parameter of at least one HFR tool to be employed to decode the audio content of the bitstream. The term “SBR metadata” is used herein to indicate such metadata that is described or referenced in the MPEG-4 AAC standard for use with spectral band replication (“SBR”). As appreciated by one of skill in the art, SBR is a form of HFR.

La SBR se usa preferiblemente como un sistema de tasa dual, con el códec subyacente operando a la mitad de la tasa de muestreo original, mientras que la SBR opera a la tasa de muestreo original. El codificador de SBR funciona en paralelo con el códec central subyacente, aunque a una tasa de muestreo más alta. Aunque la 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 intervalo de SBR para un intervalo/resolución de tiempo y frecuencia adecuados para las características de los segmentos de la señal de entrada actual. La envolvente espectral se estima mediante un análisis de 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 frecuencia de tiempo más adecuada para el segmento de entrada dado. La estimación de la envolvente debe tener en cuenta que un transitorio en el original, principalmente situado en la región de alta frecuencia (por ejemplo, una zona alta), estará presente en menor medida en la banda alta generada por la SBR antes del ajuste de la 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 tiempo frecuencia de los datos de la envolvente espectral, en comparación con la estimación de la envolvente espectral ordinaria como se usa en otros algoritmos de codificación de audio. SBR is preferably used as a dual-rate system, with the underlying codec operating at half the original sampling rate, while the 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-process in the decoder, important parameters are extracted in the encoder to ensure the most accurate high-frequency reconstruction at the decoder. The encoder estimates the spectral envelope of the SBR interval for a time and frequency interval/resolution appropriate to the characteristics of the current input signal segments. The spectral envelope is estimated using complex QMF analysis and subsequent energy calculation. The time and frequency resolutions of the spectral envelopes can be chosen with a high level of freedom to ensure the most appropriate time-frequency resolution for the given input segment. Envelope estimation must take into account that a transient in the original, mainly located in the high-frequency region (e.g., a treble zone), will be present to a lesser extent in the high band generated by the SBR before envelope adjustment, 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 conventional spectral envelope estimation as used in other audio coding algorithms.

Aparte 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 donde la banda baja constituye una serie de armónicos fuertes y la banda alta, que se ha de recrear, constituye principalmente componentes de señal aleatorios, así como situaciones en donde están presentes componentes tonales fuertes en la banda alta original sin homólogos en la banda baja, sobre 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 central subyacente para evaluar qué intervalo de frecuencia debería ser cubierto por la SBR en un momento dado. Los datos de SBR se codifican eficazmente antes de la transmisión explotando la codificación por entropía, así como las dependencias de canal de los datos de control, en el caso de señales estéreo. Apart from 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, it is possible for the system to handle situations where the low band constitutes a series of strong harmonics and the high band, which has to be recreated, consists primarily of random signal components, as well as situations where strong tonal components are present in the original high band with no counterparts in the low band, upon 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 the SBR at a given time. The SBR data is efficiently encoded before transmission by exploiting entropy coding, as well as channel dependencies of the control data, in the case of stereo signals.

Típicamente, los algoritmos de extracción de parámetros de control deben ajustarse cuidadosamente al códec subyacente a una tasa de bits determinada y a una tasa de muestreo determinada. Esto se debe al hecho de que una tasa de bits más baja, generalmente implica un intervalo 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. Typically, control parameter extraction algorithms must 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 interval compared to a high bit rate, and different sampling rates correspond to different time resolutions of the SBR frames.

Un decodificador de SBR típicamente incluye varias partes diferentes. Comprende un módulo de decodificación de corriente 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 de QMF de valor real (para SBR de baja potencia). Las realizaciones de la invención son aplicables tanto a la SBR de alta calidad como a la SBR de baja potencia. En el módulo de extracción de corriente de bits, los datos de control se leen de la corriente de bits y se decodifican. La cuadrícula de tiempo frecuencia se obtiene para la trama actual, antes de leer los datos de la envolvente de la corriente de bits. El decodificador central 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 tiempo. La trama resultante de datos de audio se usa para la reconstrucción de alta frecuencia por el módulo de HFR. La señal de banda baja decodificada se analiza luego usando un banco de filtros de QMF. La reconstrucción de alta frecuencia y el ajuste de envolvente se realizan posteriormente sobre 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 asegurar las características espectrales apropiadas de la región de tiempo/frecuencia dada. An SBR decoder typically includes several different parts. It comprises a bitstream decoding module, a high-frequency reconstruction (HFR) module, an additional high-frequency component module, and an envelope matching module. The system is based on a complex-valued QMF filter bank (for high-quality SBR) or a real-valued QMF filter bank (for low-power SBR). Embodiments of the invention are applicable to both high-quality SBR and low-power SBR. In the bitstream extraction module, control data is read from the bitstream and decoded. The time-frequency grid is obtained for the current frame, before reading the envelope data from the bitstream. The underlying core decoder decodes the audio signal of the current frame (albeit at the lower sampling rate) to produce time-domain audio samples. The resulting frame of audio data 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 adjustment are subsequently performed on the subband samples from the QMF filter bank. 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 appropriate spectral characteristics for the given time/frequency region.

El nivel superior de una corriente de bits MPEG-4 AAC es una secuencia de bloques de datos (elementos “raw_data_block”), cada uno de los cuales es un segmento de datos (denominado “bloque” en la presente memoria) que contiene datos de audio (típicamente durante un período de tiempo de 1024 o 960 muestras) e información relacionada y/u otros datos. En la presente memoria, se usa el término “bloque” para indicar un segmento de una corriente de bits MPEG-4 AAC que comprende datos de audio (y los metadatos correspondientes y, opcionalmente, también otros datos relacionados) que determina o es indicativo de un elemento “raw_data_block” (pero no más de uno). The top level of an MPEG-4 AAC 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 time period of 1024 or 960 samples) and related information and/or other data. The term “block” is used herein to denote a segment of an MPEG-4 AAC bitstream comprising audio data (and corresponding metadata and optionally also other related data) that determines or is indicative of one (but not more than one) “raw_data_block” element.

Cada bloque de una corriente de bits MPEG-4 AAC puede incluir varios elementos sintácticos (cada uno de los cuales también se materializa en la corriente de bits como un segmento de datos). En la norma MPEG-4 AAC se definen siete tipos de tales elementos sintácticos. Cada elemento sintáctico se identifica por un valor diferente del elemento de datos “id_syn_ele”. 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). Each block in an MPEG-4 AAC bitstream can include multiple syntactic elements (each of which is also realized in the bitstream as a data segment). Seven types of such syntactic elements are defined in the MPEG-4 AAC 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 contains audio data from a single audio channel (a monophonic audio signal). A channel-pair element contains audio data from two audio channels (i.e., a stereo audio signal).

Un elemento de relleno es un contenedor de información que incluye un identificador (por ejemplo, el valor del elemento “id_syn_ele” indicado anteriormente) seguido de datos, que se denominan “datos de relleno”. Los elementos de relleno se han usado históricamente para ajustar la tasa de bits instantánea de las corrientes de bits que se transmitirán a través de un canal de tasa constante. Agregando la cantidad apropiada de datos de relleno a cada bloque, se puede lograr una tasa de datos constante. A padding element is a container of information that includes an identifier (for example, the value of the "id_syn_ele" element mentioned above) followed by data, which is referred to as "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.

Según realizaciones de la invención, los datos de relleno pueden incluir una o más cargas útiles de extensión que amplían el tipo de datos (por ejemplo, metadatos) que pueden transmitirse en una corriente de bits. Un decodificador que recibe corrientes de bits con datos de relleno que contienen un nuevo tipo de datos puede ser usado opcionalmente por un dispositivo que recibe la corriente de bits (por ejemplo, un decodificador) para ampliar la funcionalidad del dispositivo. Por 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 que se usan típicamente para transmitir datos de audio (por ejemplo, cargas útiles de audio que contienen datos de canal). According to embodiments of the invention, the padding data may include 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 type of data may optionally be used by a device receiving the bitstream (e.g., a decoder) to extend the functionality of the device. Thus, as one of skill in the art can appreciate, padding elements are a special type of data structure and are different from data structures that are typically used to transmit audio data (e.g., audio payloads containing channel data).

En algunas realizaciones de la invención, el identificador usado para identificar un elemento de relleno puede consistir en un número entero sin signo de tres bits transmitido primero el bit más significativo (“uimsbf”) que tiene un valor de 0x6. En un bloque, pueden ocurrir varios casos del mismo tipo de elemento sintáctico (por ejemplo, varios elementos de relleno). In some embodiments of the invention, the identifier used to identify a padding element may consist of a three-bit unsigned integer transmitted with the most significant bit (“uimsbf”) first having a value of 0x6. Multiple instances of the same type of syntactical element may occur within a block (e.g., multiple padding elements).

Otra norma para codificar corrientes de bits de audio es la norma de Codificación de Audio y Voz Unificada (USAC) MPEG (ISO/IEC 23003-3: 2012). La norma USAC MPEG describe la codificación y decodificación de contenido de audio usando procesamiento de replicación de banda espectral (incluido el procesamiento de SBR como se describe en la norma MPEG-4 AAC, y 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 la presente memoria como “herramientas de SBR mejoradas” o “herramientas de eSBR”) de una versión extendida y mejorada del conjunto de herramientas de SBR descritas en la norma MPEG-4 AAC. Por lo tanto, la eSBR (como se define en la norma USAC) es una mejora de SBR (como se define en la norma MPEG-4 AAC). Another standard for encoding audio bitstreams is the MPEG Unified Audio and Speech Coding (USAC) standard (ISO/IEC 23003-3:2012). The MPEG USAC standard describes the encoding and decoding of audio content using spectral band replication processing (including SBR processing as described in the MPEG-4 AAC standard, and also includes 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 extended and enhanced version of the SBR toolset described in the MPEG-4 AAC standard. Therefore, eSBR (as defined in the USAC standard) is an enhancement of SBR (as defined in the MPEG-4 AAC standard).

En la presente memoria, se usa la expresión “procesamiento de SBR mejorado” (o “procesamiento 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 la norma USAC MPEG) que no se describe ni se menciona en la norma MPEG-4 AAC. Ejemplos de tales herramientas de eSBR son la transposición armónica y el procesamiento previo adicional de parcheado de QMF o “pre-aplanamiento”. As used herein, the term “enhanced SBR processing” (or “eSBR processing”) is used to refer to spectral band replication processing using at least one eSBR tool (e.g., at least one eSBR tool that is described or referenced in the MPEG-4 AAC standard) that is not described or referenced in the MPEG-4 AAC standard. Examples of such eSBR tools are harmonic transposition and additional QMF patching or “pre-flattening” preprocessing.

Un transpondedor armónico de orden entero T hace corresponder una sinusoide con frecuencia m a una sinusoide con frecuencia Tm, mientras preserva la duración de la señal. Típicamente, se usan tres órdenes, T = 2, 3, 4 en secuencia para producir cada parte del intervalo de frecuencia de salida deseado usando el orden de transposición más pequeño posible. Si se requiere una salida por encima del intervalo de transposición de cuarto orden, puede generarse mediante desplazamientos de frecuencia. Cuando es posible, se crean dominios de tiempo de banda base muestreados casi críticamente para que el procesamiento minimice la complejidad computacional. An integer-order harmonic transponder T maps a sinusoid with frequency m to a sinusoid with frequency Tm, while preserving signal duration. Typically, three orders, T = 2, 3, 4, are used in sequence to produce each part of the desired output frequency interval using the smallest possible transposition order. If an output above the fourth-order transposition interval is required, it can be generated by frequency shifting. When possible, near-critically sampled baseband time domains are created for processing to minimize computational complexity.

El transpondedor armónico puede estar basado en QMF o DFT. Cuando se usa el transpondedor armónico basado en QMF, la extensión del ancho de banda de la señal de dominio de tiempo del codificador central se lleva a cabo completamente en el dominio de QMF, usando una estructura de codificador de voz de fase modificada, realizando decimación seguida de estiramiento de tiempo para cada subbanda de QMF. La transposición usando varios factores de transposiciones (por ejemplo, T = 2, 3, 4) se lleva a cabo en una etapa común de transformación de análisis/síntesis de QMF. Dado que el transpondedor armónico basado en QMF no presenta sobremuestreo de dominio de frecuencia adaptativo de señal, el indicador correspondiente en la corriente de bits (sbrOversamplingFlag[ch]) puede ignorarse. The harmonic transponder can be based on either QMF or DFT. When using the QMF-based harmonic transponder, the bandwidth stretching of the core encoder's time-domain signal is carried out 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 analysis/synthesis transform stage. Since the QMF-based harmonic transponder does not feature adaptive frequency-domain oversampling of the signal, the corresponding flag in the bitstream (sbrOversamplingFlag[ch]) can be ignored.

Cuando se usa el transpondedor armónico basado en DFT, los transpondedores de factor 3 y 4 (transpondedores de 3er y 4° orden) se integran preferiblemente en el transpondedor de factor 2 (transpondedor de 2° orden) por medio de interpolación para reducir la complejidad. Para cada trama (correspondiente a las muestras del codificador central coreCoderFrameLength), el tamaño de transformación nominal de “tamaño completo” del transpondedor se determina en primer lugar mediante el indicador de sobremuestreo en el dominio de frecuencia adaptativa de la señal (sbrOversamplingFlag[ch]) en la corriente de bits. When using the DFT-based harmonic transponder, the factor 3 and 4 transponders (3rd and 4th order transponders) are preferably integrated into the factor 2 transponder (2nd order transponder) by means of interpolation to reduce complexity. For each frame (corresponding to the core encoder samples coreCoderFrameLength), 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.

Cuando sbrPatchingMode==1, que indica que se ha de usar la transposición lineal para generar la banda alta, se puede introducir 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 siguiente etapa de ajuste de la envolvente, lo que da como resultado una señal de banda alta que se percibe como más estable. El funcionamiento del procesamiento previo adicional es beneficioso para los tipos de señal en los que la envolvente espectral aproximada de la señal de banda baja que se usa para la reconstrucción de alta frecuencia muestra grandes variaciones de nivel. Sin embargo, el valor del elemento de corriente de bits puede determinarse en el codificador aplicando cualquier tipo de clasificación dependiente de la señal. El procesamiento previo adicional se activa preferiblemente a través de un elemento de corriente de bits de un bit, bs_sbr_preprocessing. Cuando bs_sbr_preprocessing se establece en uno, se habilita el procesamiento adicional. Cuando bs_sbr_preprocessing se establece en cero, el procesamiento previo adicional está deshabilitado. El procesamiento adicional preferible utiliza una curva preGain que es usada por el generador de alta frecuencia para escalar la banda baja, Xlow, para cada parche. Por ejemplo, la curva preGain se puede calcular de acuerdo con: When sbrPatchingMode==1, indicating that linear transposition is to be used to generate the high band, an additional stage can be introduced to avoid discontinuities in the shape of the spectral envelope of the high-frequency signal fed into the subsequent envelope adjuster. This improves the performance of the subsequent 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 approximate 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 preferably 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, Xlow, for each patch. For example, the preGain curve can be calculated as follows:

preGain(k) = lO^^rg-towEnvsíopem/io^Q <k < k0preGain(k) = lO^^rg-towEnvsíopem/io^Q <k < k0

donde k<0>es la primera subbanda de QMF en la tabla de bandas de frecuencia maestra y lowEnvSlope se calcula usando una función que calcula los coeficientes de un polinomio de mejor ajuste (en un sentido de mínimos cuadrados), tal como polyfit(). Por ejemplo, where k<0> is the first QMF subband in the master frequency band table and lowEnvSlope is calculated using a function that computes the coefficients of a best-fit polynomial (in a least-squares sense), such as polyfit(). For example,

po lyf i t(3,k0, xjowband, lowEnv, LowEnvSlope); po lyf i t(3,k0, xjowband, lowEnv, LowEnvSlope);

puede emplearse (usando un polinomio de tercer grado) y donde can be used (using a third degree polynomial) and where

<»k(0,0)<»k(0,0)

lowEnv(k) = 10loglo ----- —— —------- — - ,0< k < k0lowEnv(k) = 10loglo ----- —— —------ — - ,0< k < k0

610numTimeSlots ■ RATE 60 610numTimeSlots ■ RATE 60

donde x_lowband (k) = [0 ... k0-1 ], numTimeSlot es el número de intervalos de tiempo de la envolvente de SBR que existen dentro de una trama, RATE 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 (potencialmente obtenido a partir del método de covarianza) y donde where x_lowband(k) = [0 ... k0-1 ], numTimeSlot is the number of SBR envelope time slots that exist within a frame, RATE is a constant indicating the number of QMF subband samples per time slot (e.g., 2), ^k is a linear prediction filter coefficient (potentially obtained from the covariance method), and where

Una corriente de bits generada según la norma USAC MPEG (a veces denominada en la presente memoria como una “corriente de bits USAC”) incluye contenido de audio codificado y típicamente incluye metadatos indicativos de cada tipo de procesamiento de replicación de banda espectral que se ha de aplicar mediante un decodificador para decodificar el contenido de audio de la corriente de bits 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 se ha de emplear para decodificar el contenido de audio de la corriente de bits USAC. A bitstream generated according to the MPEG USAC standard (sometimes referred to herein as a “USAC bitstream”) includes encoded audio content and typically includes metadata indicative of each type of spectral band replication processing to be applied by a decoder to decode the audio content of the USAC bitstream and/or metadata that controls such spectral band replication processing and/or is indicative of at least one characteristic or parameter of at least one SBR tool and/or eSBR tool to be employed to decode the audio content of the USAC bitstream.

En la presente memoria, se usa la expresión “metadatos de SBR mejorada” (o “metadatos de eSBR”) para indicar los metadatos indicativos de cada tipo de procesamiento de replicación de banda espectral que ha de ser aplicado mediante un decodificador para decodificar el contenido de audio de una corriente de bits de audio codificada (por ejemplo, una corriente de bits 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 se ha de emplear para decodificar tal contenido de audio, pero que no se describe o menciona en la norma MPEG-4 AAC. 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 la norma USAC MPEG pero no en la norma MPEG-4 AAC. Por lo tanto, los metadatos de eSBR indican en la presente memoria metadatos que no son metadatos de SBR, y los metadatos de SBR indican en la presente memoria metadatos que no son metadatos de eSBR. In this specification, the term “enhanced SBR metadata” (or “eSBR metadata”) is used to denote metadata indicative of each type of spectral band replication processing to be applied by a decoder for decoding audio content from an encoded audio bitstream (e.g., a USAC bitstream) and/or that controls such spectral band replication processing, and/or is indicative of at least one feature or parameter of at least one SBR tool and/or eSBR tool to be employed for decoding such audio content, but which is not described or mentioned in the MPEG-4 AAC standard. An example of eSBR metadata is metadata (indicative of or for controlling spectral band replication processing) that is described or mentioned in the MPEG USAC standard but not in the MPEG-4 AAC standard. Therefore, eSBR metadata indicates herein metadata that is not SBR metadata, and SBR metadata indicates herein metadata that is not eSBR metadata.

Una corriente de bits USAC puede incluir tanto metadatos de SBR como metadatos de eSBR. Más específicamente, una corriente de bits 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 las 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 una corriente de bits MPEG-4 AAC (por ejemplo, en el contenedor de sbr_extension() al final de una carga útil de SBR). 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, the eSBR metadata (e.g., eSBR-specific configuration data) is (in accordance with the present invention) included in an MPEG-4 AAC bitstream (e.g., in the sbr_extension() container at the end of an SBR payload).

El rendimiento del procesamiento de eSBR, durante la decodificación de una corriente de bits codificada 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. Tal procesamiento de eSBR ajusta típicamente la envolvente espectral de la banda de alta frecuencia generada y aplica filtrado inverso, y añade componentes de ruido y sinusoidales para recrear las características espectrales de la señal de audio original. The eSBR processing performance, during decoding of a bitstream encoded using an eSBR tool set (comprising at least one eSBR tool), by 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 to recreate the spectral characteristics of the original audio signal.

Según las realizaciones típicas de la invención, se incluyen metadatos de eSBR (por ejemplo, se incluye una pequeña cantidad de bits de control que son metadatos de eSBR) en uno o más de los segmentos de metadatos de una corriente de bits de audio codificada (por ejemplo, una corriente de bits MPEG-4 AAC) que también incluye datos de audio codificados en otros segmentos (segmentos de datos de audio). Típicamente, al menos uno de esos segmentos de metadatos de cada bloque de la corriente de bits es (o incluye) un elemento de relleno (incluido 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. According to typical embodiments of the invention, eSBR metadata is included (e.g., a small amount of control bits that are eSBR metadata is included) in one or more of the metadata segments of an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) that also includes audio data encoded in other segments (audio data segments). Typically, at least one of those metadata segments in each block of the bitstream is (or includes) a padding element (including an identifier indicating the start of the padding element), and the eSBR metadata is included in the padding element after the identifier.

La figura 1 es un diagrama de bloques de una cadena de procesamiento de audio ejemplar (un sistema de procesamiento de datos de audio), donde uno o más de los elementos del sistema pueden configurarse de acuerdo con una realización de la presente invención. El sistema incluye los siguientes elementos, acoplados juntos como se muestra: codificador 1, subsistema 2 de entrega, decodificador 3 y unidad 4 de post procesamiento. En variaciones del sistema mostrado, se omiten uno o más de los elementos, o se incluyen unidades de procesamiento de datos de audio adicionales. Figure 1 is a block diagram of an exemplary audio processing chain (an audio data processing system), where one or more of the elements of the system may be configured in accordance with an embodiment of the present invention. The system includes the following elements, coupled together as shown: encoder 1, delivery subsystem 2, decoder 3, and post-processing unit 4. In variations of the shown system, one or more of the elements are omitted, or additional audio data processing units are included.

En algunas implementaciones, el codificador 1 (que opcionalmente incluye una unidad de procesamiento previo) está configurado para aceptar muestras PCM (dominio de tiempo) que comprenden contenido de audio como entrada, y para emitir una corriente de bits de audio codificada (que tiene un formato que cumple con la norma MPEG-4 AAC) que es indicativo del contenido de audio. Los datos de la corriente de bits que son indicativos del contenido de audio se denominan a veces en la presente memoria “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, la salida de corriente de bits de audio del codificador incluye metadatos de eSBR (y típicamente también otros metadatos) así como datos de audio. In some implementations, the encoder 1 (optionally including a pre-processing unit) is configured to accept PCM (time-domain) samples comprising audio content as input, and to output an encoded audio bitstream (having a format compliant with the MPEG-4 AAC standard) that is indicative of the audio content. The data in the bitstream 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 typically other metadata as well) as well as audio data.

Una o más corrientes de bits de audio codificadas emitidas desde el codificador 1 pueden confirmarse en el subsistema 2 de entrega de audio codificado. El subsistema 2 está configurado para almacenar y/o entregar cada salida de corriente de bits codificado procedente del codificador 1. Una salida de corriente de bits de audio codificada del codificador 1 puede ser almacenada por el subsistema 2 (por ejemplo, en forma de un disco DVD o Blu ray), o transmitida por el subsistema 2 (que puede implementar un enlace de transmisión o red), o pueden ser tanto almacenadas como transmitidas por el subsistema 2. One or more encoded audio bitstreams output from the encoder 1 may be acknowledged at the encoded audio delivery subsystem 2. The subsystem 2 is configured to store and/or deliver each encoded bitstream output from the encoder 1. An encoded audio bitstream output from the encoder 1 may be stored by the subsystem 2 (e.g., in the form of a DVD or Blu-ray disc), or transmitted by the subsystem 2 (which may implement a transmission or network link), or may be both stored and transmitted by the subsystem 2.

El decodificador 3 está configurado para decodificar una corriente de bits de audio MPEG-4 AAC codificada (generada 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 de la corriente de bits y decodificar la corriente de bits (incluso realizando el procesamiento de eSBR usando los metadatos de eSBR extraídos) para generar datos de audio decodificados (por ejemplo, corrientes de muestras de audio de PCM decodificadas). En algunas realizaciones, el decodificador 3 está configurado para extraer metadatos de SBR de la corriente de bits (pero para ignorar los metadatos de eSBR incluidos en la corriente de bits) y para decodificar la corriente de bits (incluso realizando el procesamiento de SBR usando los metadatos de SBR extraídos) para generar datos de audio decodificados (por ejemplo, corrientes de muestras de audio PCM decodificadas). Típicamente, el decodificador 3 incluye una memoria intermedia que almacena (por ejemplo, de manera no transitoria) segmentos de la corriente de bits de audio codificada recibidas desde el subsistema 2. The decoder 3 is configured to decode an encoded MPEG-4 AAC audio bitstream (generated by the encoder 1) that it receives via the subsystem 2. In some embodiments, the decoder 3 is configured to extract eSBR metadata from each block of the bitstream and 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 embodiments, the 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 (e.g., non-transiently) segments of the encoded audio bit stream received from subsystem 2.

La unidad 4 de post-procesamiento de la figura 1 está configurada para aceptar una corriente de datos de audio decodificados procedentes del decodificador 3 (por ejemplo, muestras de audio de PCM decodificadas) y para realizar el post-procesamiento en el mismo. La unidad de post-procesamiento también puede configurarse para reproducir el contenido de audio post-procesado (o el audio decodificado recibido desde el decodificador 3) para su reproducción por uno o más altavoces. The post-processing unit 4 of Figure 1 is configured to accept a decoded audio data stream from the decoder 3 (e.g., decoded PCM audio samples) and to perform post-processing thereon. The post-processing unit may also be configured to reproduce the post-processed audio content (or decoded audio received from the decoder 3) for playback to one or more speakers.

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 107 de rellenado/formateado, la etapa 106 de generación de metadatos y la memoria intermedia 109, conectadas como se muestra. Típicamente también, el codificador 100 incluye otros elementos de procesamiento (no mostrados). El codificador 100 está configurado para convertir una corriente de bits de audio de entrada en una corriente de bits de salida codificada MPEG-4 AAC. 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., ASICs, FPGAs, 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 to an MPEG-4 AAC encoded output bitstream.

El generador 106 de metadatos está acoplado y configurado para generar (y/o atravesar la etapa 107) metadatos (incluyendo metadatos de eSBR y metadatos de SBR) que se han de incluir en la etapa 107 en la corriente de bits codificada que se ha de emitir desde el codificador 100. The metadata generator 106 is coupled and configured to generate (and/or pass through step 107) metadata (including eSBR metadata and SBR metadata) to be included in step 107 in the encoded bit stream to be output from the encoder 100.

El codificador 105 está acoplado y configurado para codificar (por ejemplo, realizando compresión sobre el mismo) los datos de audio de entrada y para confirmar el audio codificado resultante en la etapa 107 para su inclusión en la corriente de bits codificada que se emitirá desde la etapa 107. The encoder 105 is coupled and configured to encode (e.g., by performing compression thereon) the input audio data and to commit the resulting encoded audio at step 107 for inclusion in the encoded bitstream to be output from step 107.

La etapa 107 está configurada para multiplexar el audio codificado procedente del codificador 105 y los metadatos (incluidos los metadatos de eSBR y los metadatos de SBR) del generador 106 para generar la corriente de bits codificada que se emitirá desde la etapa 107, preferiblemente para que la corriente de bits codificada tenga el formato especificado por una de las realizaciones de la presente invención. Step 107 is configured to multiplex the encoded audio from the encoder 105 and the metadata (including eSBR metadata and SBR metadata) from the generator 106 to generate the encoded bitstream to be output from step 107, preferably so that the encoded bitstream has the format specified by one of the embodiments of the present invention.

La memoria intermedia 109 está configurada para almacenar (por ejemplo, de manera no transitoria) al menos un bloque de la salida de la corriente de bits de audio codificada de la etapa 107, y una secuencia de los bloques de la corriente de bits de audio codificada se confirma a partir de la memoria intermedia 109 como salida desde el codificador 100 a un sistema de entrega. The buffer 109 is configured to store (e.g., non-transiently) at least one block of the encoded audio bit stream output from the step 107, and a sequence of the blocks of the encoded audio bit stream is acknowledged from the buffer 109 as output from the encoder 100 to a delivery system.

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 post-procesador 300 acoplado a la misma. Cualquiera de los componentes o elementos del decodificador 200 y del post-procesador 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, desformateador (analizador) 205 de carga útil de corriente de bits, subsistema 202 de decodificación de audio (a veces denominado etapa de decodificación “central” o subsistema de decodificación “central”), etapa 203 de procesamiento de eSBR y etapa 204 de generación de bits de control, conectados como se muestra. Típicamente también, el decodificador 200 incluye otros elementos de procesamiento (no mostrados). Figure 3 is a block diagram of a system including a decoder 200 which 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 (e.g., 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 deformatter (parser) 205, the audio decoding subsystem 202 (sometimes referred to as the “core” decoding stage or “central” decoding subsystem), the eSBR processing stage 203, and the control bit generation stage 204, connected as shown. Typically also, the decoder 200 includes other processing elements (not shown).

La memoria (intermedia) 201 almacena (por ejemplo, de manera no transitoria) al menos un bloque de una corriente de bits de audio MPEG-4 AAC codificada recibido por el decodificador 200. En el funcionamiento del decodificador 200, se confirma una secuencia de los bloques de la corriente de bits procedentes de la memoria intermedia 201 al desformateador 205. The (buffer) memory 201 stores (e.g., non-transitory) at least one block of an encoded MPEG-4 AAC audio bitstream received by the decoder 200. In operation of the decoder 200, a sequence of the blocks of the bitstream from the buffer memory 201 is acknowledged to the deformatter 205.

En variaciones de la realización de la figura 3 (o la realización de la figura 4 que se ha de 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 a la memoria intermedia 201) que almacena (por ejemplo, de manera no transitoria) al menos un bloque de una corriente de bits de audio codificada (por ejemplo, una corriente de bits de audio MPEG-4 AAC) del mismo tipo recibido por la memoria intermedia 201 de la figura 3 o la figura 4 (es decir, una corriente de bits de audio codificada que incluye metadatos de eSBR). In variations of the embodiment of Figure 3 (or the embodiment of Figure 4 to be described), a non-decoder APU (e.g., APU 500 of Figure 6) includes a buffer (e.g., a buffer identical to buffer 201) that stores (e.g., non-transitory) 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 including eSBR metadata).

Con referencia nuevamente a la figura 3, el desformateador 205 está acoplado y configurado para desmultiplexar cada bloque de la corriente 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 confirmar al menos los metadatos de eSBR y los metadatos de SBR a la etapa 203 de procesamiento de eSBR, y típicamente también para confirmar otros metadatos extraídos al subsistema 202 de decodificación (y opcionalmente también al generador 204 de bits de control). El desformateador 205 también está acoplado y configurado para extraer datos de audio de cada bloque de la corriente de bits y para confirmar los datos de audio extraídos al subsistema 202 de decodificación (etapa de decodificación). 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) therefrom, to commit at least the eSBR metadata and the SBR metadata to the eSBR processing stage 203, and typically also to commit other extracted metadata to the decoding subsystem 202 (and optionally also to the control bit generator 204). The deformatter 205 is also coupled and configured to extract audio data from each block of the bitstream and to commit the extracted audio data to the decoding subsystem 202 (decoding stage).

El sistema de la figura 3 opcionalmente también incluye el post-procesador 300. El post-procesador 300 incluye una memoria intermedia 301 (memoria intermedia) y otros elementos de procesamiento (no mostrados) que incluyen al menos un elemento de procesamiento acoplado a la memoria intermedia 301. La memoria intermedia 301 almacena (por ejemplo, de manera no transitoria) al menos un bloque (o trama) de los datos de audio decodificados recibidos por el post-procesador 300 procedentes del decodificador 200. Los elementos de procesamiento del post-procesador 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 de la memoria intermedia 301, usando la salida de metadatos del subsistema 202 de decodificación (y/o desformateador 205) y/o bits de control emitidos desde la etapa 204 del decodificador 200. The system of Figure 3 optionally also includes the post-processor 300. The post-processor 300 includes a buffer 301 (buffer) and other processing elements (not shown) including at least one processing element coupled to the buffer 301. The buffer 301 stores (e.g., non-transitory) 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 receive and adaptively process a sequence of the blocks (or frames) of the decoded audio output from the buffer 301, using the metadata output of the decoding subsystem 202 (and/or deformatter 205) and/or control bits output from stage 204 of the decoder 200.

El subsistema 202 de decodificación de audio del decodificador 200 está configurado para decodificar los datos de audio extraídos por el analizador 205 (tal decodificación puede denominarse operación de decodificación “central”) para generar datos de audio decodificados y para confirmar los datos de audio decodificados en la etapa 203 de procesamiento de eSBR. La decodificación se realiza en el dominio de frecuencia y típicamente incluye cuantificación inversa seguida de procesamiento espectral. Típicamente, una etapa final de procesamiento en el subsistema 202 aplica una transformación 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 de eSBR (extraídos por el analizador 205) a los datos de audio decodificados (es decir, para realizar el procesamiento de SBR y de eSBR en la salida del subsistema 202 de decodificación usando los metadatos de SBR y de eSBR) para generar los datos de audio completamente decodificados que se envían (por ejemplo, al post-procesador 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 desformateados y la salida de metadatos del desformateador 205, y la etapa 203 está configurada para acceder a los datos de audio y metadatos (incluidos los metadatos de SBR y los metadatos de eSBR) como necesario durante el procesamiento de SBR y de eSBR. Se puede considerar que el procesamiento de SBR y el procesamiento de eSBR en la etapa 203 son post-procesamiento en la salida del subsistema 202 de decodificación central. Opcionalmente, el decodificador 200 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas (“PS”) definidas en la norma MPEG-4 AAC, usando metadatos PS extraídos por el desformateador 205 y/o bits de control generados en el subsistema 204) que es acoplado y configurado para realizar una mezcla ascendente en la salida de la etapa 203 para generar audio de mezcla ascendente totalmente decodificado que se emite desde el decodificador 200. Alternativamente, el post-procesador 300 está configurado para realizar una mezcla ascendente en la salida del decodificador 200 (por ejemplo, usando metadatos PS extraídos por el desformateador 205 y/o bits de control generados en el subsistema 204). The audio decoding subsystem 202 of the decoder 200 is configured to decode the audio data extracted by the analyzer 205 (such decoding may be referred to as a “core” decoding operation) to generate decoded audio data and to commit 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 the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data such that the output of the subsystem is decoded time domain audio data. Step 203 is configured to apply SBR tools and eSBR tools indicated by the eSBR and eSBR metadata (extracted by parser 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 sent (e.g., to post-processor 300) from decoder 200. Typically, decoder 200 includes a memory (accessible by subsystem 202 and step 203) that stores the deformatted audio data and metadata output from deformatter 205, and step 203 is configured to access the audio data and metadata (including the SBR metadata and the eSBR metadata) to generate the fully decoded audio data that is sent (e.g., to post-processor 300) from decoder 200. Typically, decoder 200 includes a memory (accessible by subsystem 202 and step 203) that stores the deformatted audio data and metadata output from deformatter 205, and step 203 is configured to access the audio data and metadata (including the SBR metadata and the eSBR metadata) to generate the fully decoded audio data that is sent (e.g., to post-processor 300) from decoder 200. eSBR) as required during SBR and eSBR processing. The SBR processing and eSBR processing in step 203 can be considered post-processing on the output of the core decoding subsystem 202. Optionally, decoder 200 also includes a final upmix subsystem (which may apply parametric stereo (“PS”) tools defined in the MPEG-4 AAC standard, using PS metadata extracted by deformatter 205 and/or control bits generated in subsystem 204) that is coupled and configured to upmix the output of stage 203 to generate fully decoded upmixed audio that is output from decoder 200. Alternatively, post-processor 300 is configured to upmix the output of decoder 200 (e.g., using PS metadata extracted by deformatter 205 and/or control bits generated in subsystem 204).

En respuesta a los metadatos extraídos por el desformateador 205, el generador 204 de bits de control 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 confirmarse como salida del decodificador 200 (por ejemplo, para el post-procesador 300 para su uso en post-procesamiento). En respuesta a los metadatos extraídos de la corriente de bits de entrada (y opcionalmente también en respuesta a los datos de control), la etapa 204 puede generar (y confirmar al post-procesador 300) bits de control que indican que la salida de datos de audio decodificados de la etapa 203 de procesamiento de eSBR debe someterse a un tipo específico de post procesamiento. En algunas implementaciones, el decodificador 200 está configurado para confirmar metadatos extraídos por el desformateador 205 de la corriente de bits de entrada al post-procesador 300, y el post procesador 300 está configurado para realizar post-procesamiento en la salida de datos de audio decodificados desde el decodificador 200 usando los metadatos. In response to the metadata extracted by the deformatter 205, the control bit generator 204 may generate control data, and the control data may be used within the decoder 200 (e.g., in a final upmix subsystem) and/or acknowledged as output from the decoder 200 (e.g., to the post-processor 300 for use in post-processing). In response to the metadata extracted from the input bit stream (and optionally also in response to the control data), the stage 204 may generate (and acknowledge to the post-processor 300) control bits indicating that the decoded audio data output from the eSBR processing stage 203 is to undergo a specific type of post-processing. In some implementations, the decoder 200 is configured to commit metadata extracted by the deformatter 205 from the input bitstream to the post-processor 300, and the post-processor 300 is configured to perform post-processing on the decoded audio data output from the decoder 200 using the metadata.

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 inventiva. La APU 210 es un decodificador heredado que no está configurado para realizar 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 memoria intermedia 201, desformateador 215 de carga útil de corriente de bits (analizador), subsistema 202 de decodificación de audio (a veces denominado etapa de decodificación “central” o subsistema de decodificación “central”) y etapa 213 de procesamiento de SBR, conectada como se muestra. Típicamente también, la APU 210 incluye otros elementos de procesamiento (no mostrados). La APU 210 puede representar, por ejemplo, un codificador, decodificador o transcodificador de audio. Figure 4 is a block diagram of an audio processing unit (“APU”) (210) which is another embodiment of the inventive audio processing unit. 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., ASICs, FPGAs, or other integrated circuits), in hardware, software, or a combination of hardware and software. The APU 210 comprises buffer 201, bitstream payload deformatter 215 (parser), audio decoding subsystem 202 (sometimes referred to as the “core” decoding stage or “core” decoding subsystem), and SBR processing stage 213, connected as shown. Typically, the APU 210 also includes other processing elements (not shown). The APU 210 may represent, for example, an audio encoder, decoder, or transcoder.

Los elementos 201 y 202 de la APU 210 son idénticos a los elementos numerados idénticamente del decodificador 200 (de la figura 3) y la descripción anterior de ellos no se repetirá. En el funcionamiento de la APU 210, una secuencia de bloques de una corriente de bits de audio codificada (una corriente de bits MPEG-4 AAC) recibida por la APU 210 se confirma desde la memoria intermedia 201 al desformateador 215. Elements 201 and 202 of APU 210 are identical to the identically numbered elements of decoder 200 (of Figure 3) and the above description of them will not be repeated. In operation of APU 210, a sequence of blocks of an encoded audio bit stream (an MPEG-4 AAC bit stream) received by APU 210 is acknowledged from buffer 201 to deformatter 215.

El desformateador 215 se acopla y se configura para desmultiplexar cada bloque de la corriente 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 la corriente de bits según cualquier realización de la presente invención. El desformateador 215 está configurado para confirmar al menos los metadatos SBR en la etapa 213 de procesamiento de SBR. El desformateador 215 también está acoplado y configurado para extraer datos de audio de cada bloque de la corriente de bits y para confirmar los datos de audio extraídos en el subsistema 202 de decodificación (etapa de decodificación). The deformatter 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 as well, but to ignore eSBR metadata that may be included in the bitstream in accordance with any embodiment of the present invention. The deformatter 215 is configured to commit at least the SBR metadata in the SBR processing step 213. The deformatter 215 is also coupled and configured to extract audio data from each block of the bitstream and to commit the extracted audio data in the decoding subsystem 202 (decoding step).

El subsistema 202 de decodificación de audio del decodificador 200 está configurado para decodificar los datos de audio extraídos por el desformateador 215 (tal decodificación puede denominarse como una operación de decodificación “central”) para generar datos de audio decodificados y para confirmar los datos de audio decodificados en la etapa 213 de procesamiento de SBR. La decodificación se realiza en el dominio de frecuencia. Típicamente, una etapa final de procesamiento en el subsistema 202 aplica una transformación 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 202 de decodificación usando los metadatos de SBR) para generar los datos de audio totalmente decodificados que se envían (por ejemplo, al post-procesador 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 desformateados y la salida de metadatos del 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. Se puede considerar que el procesamiento de SBR en la etapa 213 es un post-procesamiento en la salida del subsistema 202 de decodificación central. Opcionalmente, la APU 210 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas (“PS”) definidas en la norma MPEG-4 AAC, usando metadatos PS extraídos por el desformateador 215) que está acoplado y configurado para realizar mezcla ascendente en la salida de la etapa 213 para generar audio de mezcla ascendente y totalmente decodificado que se emite desde la APU 210. Alternativamente, se configura un post-procesador para realizar una mezcla ascendente en la salida de la APU 210 (por ejemplo, usando metadatos PS extraídos por el desformateador 215 y/o bits de control generados en la APU 210). The audio decoding subsystem 202 of the decoder 200 is configured to decode the audio data extracted by the deformatter 215 (such decoding may be referred to as a “core” decoding operation) to generate decoded audio data and to commit the decoded audio data to the SBR processing stage 213. The decoding is performed in the frequency domain. Typically, a final processing stage in the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data such that the output of the subsystem is decoded time domain audio data. Step 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 post-processor 300) from APU 210. Typically, APU 210 includes a memory (accessible by subsystem 202 and step 213) that stores the deformatted audio data and metadata output from deformatter 215, and step 213 is configured to access the audio data and metadata (including the SBR metadata) as needed during SBR processing. The SBR processing in stage 213 may be thought of as post-processing on the output of the core decoding subsystem 202. Optionally, the APU 210 also includes a final upmix subsystem (which may apply parametric stereo (“PS”) tools defined in the MPEG-4 AAC standard, using PS metadata extracted by the deformatter 215) that is coupled and configured to upmix the output of stage 213 to generate fully decoded, upmixed audio that is output from the APU 210. Alternatively, a post-processor is configured to upmix the output of the APU 210 (e.g., using PS metadata extracted by the deformatter 215 and/or control bits generated at the APU 210).

Varias implementaciones del codificador 100, del decodificador 200 y de la APU 210 están configuradas para realizar diferentes realizaciones del método de la invención. Various implementations of the encoder 100, the decoder 200, and the APU 210 are configured to perform different embodiments of the method of the invention.

Según algunas realizaciones, se incluyen metadatos de eSBR (por ejemplo, se incluye una pequeña cantidad de bits de control que son metadatos de eSBR) en una corriente de bits de audio codificada (por ejemplo, una corriente de bits MPEG-4 AAC), de modo que los decodificadores heredados (que no están configurados para analizar los metadatos de eSBR, o para usar cualquier herramienta de eSBR a la que pertenezcan los metadatos de eSBR) puede ignorar los metadatos de eSBR pero, sin embargo, decodificar la corriente de bits en la medida de lo posible sin usar 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 del audio decodificado. Sin embargo, los decodificadores de eSBR configurados para analizar la corriente 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 un medio para transmitir eficazmente datos o metadatos de control de replicación de banda espectral mejorada (eSBR) de una manera compatible con versiones anteriores. According to some embodiments, eSBR metadata is included (e.g., a small amount of control bits that are eSBR metadata are included) in an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream), such that legacy decoders (that are not configured to parse the eSBR metadata, or to use any eSBR tools to which the eSBR metadata pertains) can ignore the eSBR metadata but nevertheless decode the bitstream as much as possible without using the eSBR metadata or any eSBR tools to which the eSBR metadata pertains, typically without any significant penalty in the quality of the decoded audio. However, eSBR decoders configured to analyze the bitstream to identify eSBR metadata and to use at least one eSBR tool in response to the eSBR metadata will enjoy the benefits of using at least one such eSBR tool. Therefore, embodiments of the invention provide a means for efficiently transmitting enhanced spectral band replication (eSBR) control data or metadata in a backward-compatible manner.

Típicamente, los metadatos de eSBR en la corriente 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 la norma USAC MPEG, y que pueden o no haber sido aplicados por un codificador durante la generación de la corriente de bits): Typically, the eSBR metadata in the bitstream is indicative of (e.g., is indicative of at least one characteristic 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 generation of the bitstream):

• Transposición armónica; y • Harmonic transposition; and

• Procesamiento previo adicional de parcheado de QMF (aplanamiento previo). • Additional QMF patching preprocessing (pre-flattening).

Por ejemplo, los metadatos de eSBR incluidos en la corriente de bits pueden ser indicativos de los valores de los parámetros (descritos en la norma USAC MPEG y en la presente descripción): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch] y bs_sbr_preprocessing. For example, the eSBR metadata included in the bitstream may be indicative of the values of the parameters (described in the USAC MPEG standard and in this description): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch], and bs_sbr_preprocessing.

En el presente documento, la notación X[ch], donde X es algún parámetro, denota que el parámetro pertenece al canal (“ch”) del contenido de audio de una corriente de bits codificada que se va a decodificar. Para simplificar, a veces omitimos la expresión [ch] y asumimos que el parámetro relevante pertenece a un canal de contenido de audio. 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, we sometimes omit the expression [ch] and assume that the relevant parameter belongs to an audio content channel.

En la presente memoria, la notación X[ch][env], donde X es algún parámetro, indica que el parámetro pertenece a la envolvente de SBR (“env”) del canal (“ch”) del contenido de audio de una corriente de bits codificada que se ha de 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. In this specification, the notation X[ch][env], where X is some parameter, indicates 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 terms [env] and [ch] are sometimes omitted, and it is assumed that the relevant parameter belongs to an SBR envelope of an audio content channel.

Durante la decodificación de una corriente de bits codificada, el rendimiento 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 la corriente de bits) se controla mediante los siguientes parámetros de metadatos de eSBR: sbrPatchingMode[ch]: sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; y sbrPitchInBins[ch]. During decoding of an encoded bitstream, the performance of harmonic transposition during an eSBR processing stage of 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].

El valor “sbrPatchingMode[ch]” indica el tipo de transpondedor usado en eSBR: sbrPatchingMode[ch] = 1 indica el parcheado de transposición lineal como se describe en la sección 4.6.18 de la norma MPEG-4 AAC (como se usa, bien con SBR de alta calidad, o bien con SBR de baja potencia); sbrPatchingMode[ch] = 0 indica el parcheado armónico de SBR como se describe en la sección 7.5.3 o 7.5.4 de la norma USAC MPEG. The “sbrPatchingMode[ch]” value indicates the type of transponder used in eSBR: sbrPatchingMode[ch] = 1 indicates linear transposition patching as described in section 4.6.18 of the MPEG-4 AAC standard (as used with either high-quality SBR or low-power SBR); sbrPatchingMode[ch] = 0 indicates SBR harmonic patching as described in section 7.5.3 or 7.5.4 of the USAC MPEG standard.

El valor “sbrOversamplingFlag[ch]” indica el uso de sobremuestreo de dominio de frecuencia adaptativo de señal en eSBR en combinación con el parcheado armónico de SBR basado en DFT como se describe en la sección 7.5.3 de la norma USAC MPEG. Este indicador controla el tamaño de las DFT que se utilizan en el transpondedor: 1 indica sobremuestreo de dominio de frecuencia adaptativo de señal habilitado como se describe en la sección 7.5.3.1 de la norma USAC MPEG; 0 indica que el sobremuestreo del dominio de frecuencia adaptativo de la señal está desactivado, como se describe en la sección 7.5.3.1 de la norma USAC MPEG. The “sbrOversamplingFlag[ch]” value indicates the use of signal adaptive frequency domain oversampling in eSBR in combination with DFT-based SBR harmonic patching as described in section 7.5.3 of the USAC MPEG standard. This flag controls the size of the DFTs used in the transponder: 1 indicates signal adaptive frequency domain oversampling is enabled as described in section 7.5.3.1 of the USAC MPEG standard; 0 indicates that signal adaptive frequency domain oversampling is disabled as described in section 7.5.3.1 of the USAC MPEG standard.

El valor “sbrPitchlnBinsFlag[ch]” controla la interpretación del parámetro sbrPitchInBins[ch]: 1 indica que el valor en sbrPitchlnBins[ch] es válido y mayor que cero; 0 indica que el valor de sbrPitchlnBins[ch] es establecido a cero. The “sbrPitchlnBinsFlag[ch]” value controls the interpretation of the sbrPitchInBins[ch] parameter: 1 indicates that the value in sbrPitchlnBins[ch] is valid and greater than zero; 0 indicates that the value of sbrPitchlnBins[ch] is set to zero.

El valor “sbrPitchInBins[ch]” controla la adición de términos de productos cruzados en el transpondedor armónico 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 central. The “sbrPitchInBins[ch]” value controls the addition of cross-product terms in the SBR harmonic transponder. The sbrPitchinBins[ch] value is an integer in the range [0,127] and represents the measured distance in frequency bins for a 1536-line DFT acting on the core encoder sampling frequency.

En el caso de que una corriente de bits MPEG-4 AAC sea indicativo de un par de canales de SBR cuyos canales no están acoplados (en lugar de un solo canal de SBR), la corriente de bits es indicativa de dos casos de la sintaxis anterior (para transposición armónica o no armónica), uno para cada canal del sbr_channel_pair_element(). In the case where an MPEG-4 AAC bitstream is indicative of an SBR channel pair whose channels are not coupled (rather than a single SBR channel), the bitstream is indicative of two instances of the above syntax (for harmonic or non-harmonic transposition), one for each channel of the sbr_channel_pair_element().

La transposición armónica de la herramienta de eSBR mejora típicamente la calidad de las señales musicales decodificadas a frecuencias de cruce relativamente bajas. La transposición no armónica (es decir, el parcheado espectral heredado) mejora típicamente 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 empleada en el contenido musical y el parcheado espectral en el contenido de velocidad. The eSBR tool's harmonic transposition typically improves the quality of decoded musical signals 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 speech/music detection with harmonic transposition employed for musical content and spectral patching for velocity content.

El rendimiento del aplanamiento previo 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 aplanamiento previo se realiza o no dependiendo del valor de este bit único. Cuando se usa el algoritmo de parcheado de QMF de SBR, como se describe en la Sección 4.6.18.6.3 de la norma MPEG-4 AAC, se puede realizar la etapa de aplanamiento previo (cuando lo indique el parámetro “bs_sbr_preprocessing”) en un esfuerzo para 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 aplanamiento previo típicamente 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. 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 SBR’s QMF patching algorithm, as described in Section 4.6.18.6.3 of the MPEG-4 AAC standard, the pre-flattening stage may be performed (when directed by the “bs_sbr_preprocessing” parameter) in an effort to avoid discontinuities in the shape of the spectral envelope of a high-frequency signal being fed into a subsequent envelope adjuster (the envelope adjuster performs another stage of eSBR processing). Pre-flattening typically improves the performance of the subsequent envelope adjustment stage, resulting in a high-band signal that is perceived as more stable.

Se espera que el requisito general de tasa de bits para incluir en los metadatos de eSBR de una corriente de bits MPEG-4 AAC indicativos de las herramientas de eSBR mencionadas anteriormente (transposición armónica y aplanamiento previo) sea del orden de unos pocos cientos de bits por segundo porque solo los datos de control diferencial necesarios para realizar el procesamiento de eSBR se transmiten de acuerdo con algunas realizaciones de la invención. Los decodificadores heredados pueden ignorar esta información porque se incluye de una manera compatible con versiones anteriores (como se explicará más adelante). Por lo tanto, el efecto perjudicial sobre la tasa de bits asociado con la inclusión de metadatos de eSBR es insignificante, por varias razones, incluidas las siguientes: The overall bit rate requirement for inclusion in the eSBR metadata of an MPEG-4 AAC bitstream indicative of the aforementioned eSBR tools (harmonic transposition and pre-flattening) is expected to be on the order of a few hundred bits per second because only the differential control data necessary to perform the eSBR processing is transmitted in accordance with some embodiments of the invention. Legacy decoders may ignore this information because it is included in a backward-compatible manner (as will be explained below). Therefore, the detrimental effect on bit rate associated with including eSBR metadata is negligible, for several reasons, including the following:

• La penalización de la tasa de bits (debido a que se incluyen los metadatos de eSBR) es una fracción muy pequeña de la tasa 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 • 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 needed to perform eSBR processing is transmitted (and not a simultaneous transmission of SBR control data); and

• El ajuste de la información de control relacionada con SBR no depende típicamente de los detalles de la transposición. Los ejemplos de cuándo los datos de control dependen del funcionamiento del transpondedor se analizan posteriormente en esta solicitud. • The adjustment of SBR-related control information typically does not depend on the details of the transposition. Examples of when control data depends on transponder operation are discussed later in this application.

Por tanto, las realizaciones de la invención proporcionan un medio para transmitir eficientemente datos o metadatos de control de replicación de banda espectral mejorada (eSBR) de una manera compatible con versiones anteriores. Esta transmisión eficiente de los datos de control de eSBR reduce los requisitos de memoria en los decodificadores, codificadores y transcodificadores que emplean aspectos de la invención, mientras que no tiene un efecto adverso tangible sobre 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 difundirse simultáneamente, lo que sería el caso si la eSBR se tratara como un tipo de objeto completamente separado en MPEG-4 AAC en lugar de integrarse en el códec MPEG-4 AAC de forma compatible con versiones anteriores. Thus, 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 memory requirements in decoders, encoders, and transcoders employing aspects of the invention, while having no tangible adverse effect on bit rate. Furthermore, the complexity and processing requirements associated with embodying eSBR according to embodiments of the invention are also reduced because the SBR data need only be processed once and not broadcast simultaneously, which would be the case if eSBR were treated as a completely separate object type in MPEG-4 AAC rather than being integrated into the MPEG-4 AAC codec in a backward-compatible manner.

A continuación, con referencia a la figura 7, se describen elementos de un bloque (“raw_data_block”) de una corriente de bits MPEG-4 AAC donde en la que se incluyen metadatos de eSBR según algunas realizaciones de la presente invención. La figura 7 es un diagrama de un bloque (un “raw_data_block”) de la corriente de bits MPEG-4 AAC, que muestra algunos de sus segmentos. 7 , elements of a raw data block of an MPEG-4 AAC bitstream including eSBR metadata are described in accordance with some embodiments of the present invention. 7 is a diagram of a raw data block of the MPEG-4 AAC bitstream, showing segments thereof.

Un bloque de una corriente de bits MPEG-4 AAC puede incluir al menos un “single_channel_element()” (por ejemplo, el elemento de un solo canal que se muestra en la figura 7), y/o al menos un “channel_pair_element()” (no se muestra específicamente en la figura 7 aunque puede estar presente), incluidos los datos de audio de un programa de audio. El bloque también puede incluir una serie de “fill_elements” (por ejemplo, elemento 1 de relleno y/o elemento 2 de relleno 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 “cannel_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. A block of an MPEG-4 AAC 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), including audio data for an audio program. The block may also include a plurality of “fill_elements” (e.g., fill_element 1 and/or fill_element 2 in Figure 7) that include data (e.g., metadata) related to the program. Each “single_channel_element()” includes an identifier (e.g., “ID1” in Figure 7) indicating the start of a single-channel element, and may include audio data indicative of a different channel of a multi-channel audio program. Each channel_pair_element includes an identifier (not shown in Figure 7) indicating the start of a channel pair element, and may include audio data indicative of two channels of the program.

Un fill_element (denominado en la presente memoria elemento de relleno) de una corriente de bits MPEG-4 AAC 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 puede consistir 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 pueden incluir un elemento extension_payload() (a veces denominado en la presente memoria como una carga útil de extensión) cuya sintaxis se muestra en la Tabla 4.57 de la norma MPEG-4 AAC. Existen varios tipos de cargas útiles de extensión y se identifican mediante el parámetro “extension_type”, que es un número entero sin signo de cuatro bits transmitido primero el bit más significativo (“uimsbf”). A fill_element (referred to herein as a filler element) of an MPEG-4 AAC bitstream includes an identifier (“ID2” in Figure 7) indicating the start of a filler element and filler data following the identifier. The ID2 identifier may consist of a three-bit unsigned integer most significant bit first (“uimsbf”) having a value of 0x6. The filler 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 MPEG-4 AAC standard. There are several types of extension payloads and they are identified by the “extension_type” parameter, which is a four-bit unsigned integer most significant bit first (“uimsbf”).

Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) pueden incluir un encabezado o identificador (por ejemplo, “header1 ” 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 la norma MPEG-4 AAC). Por ejemplo, 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, identificando el identificador ‘1101’ una carga útil de extensión con datos de SBR e identificando ‘1110’ una carga útil de extensión con datos de SBR con una Verificación de Redundancia Cíclica (CRC) para verificar la exactitud de los datos de SBR. The padding data (e.g., an extension payload thereof) may include a header or identifier (e.g., “header1” in Figure 7) indicating a padding data segment that is indicative of an SBR object (i.e., the header initializes an “SBR object” type, referred to as sbr_extension_data() in the MPEG-4 AAC standard). For example, a Spectral Band Replication (SBR) extension payload is identified by a value of ‘1101’ or ‘1110’ for the extension_type field in the header, with ‘1101’ identifying an extension payload containing SBR data, and ‘1110’ identifying an extension payload containing SBR data with a Cyclic Redundancy Check (CRC) to verify the correctness of the SBR data.

Cuando el encabezado (por ejemplo, el campo extension_type) inicializa un tipo de objeto de SBR, los metadatos de SBR (a veces denominados en la presente memoria “datos de replicación de banda espectral” y denominados sbr_data() en la norma MPEG-4 AAC) siguen al 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 1 de relleno de la figura 7) puede seguir los metadatos de SBR. Tal elemento de extensión de replicación de banda espectral (un segmento de la corriente de bits) se denomina como un contenedor “sbr_extension()” en la norma MPEG-4 AAC. 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 1 de relleno de la figura 7). When the header (e.g., the extension_type field) initializes an SBR object type, SBR metadata (sometimes referred to herein as “spectral band replication data” and referred to as sbr_data() in the MPEG-4 AAC standard) follows the header, and at least one spectral band replication extension element (e.g., 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 referred to as an “sbr_extension()” container in the MPEG-4 AAC standard. A spectral band replication extension element optionally includes a header (e.g., “SBR extension header” of padding element 1 in Figure 7).

La norma MPEG-4 AAC contempla que un elemento de extensión de replicación de banda espectral puede incluir datos PS (estéreo paramétrico) para datos de audio de un programa. La norma MPEG-4 AAC 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 “header1” de la figura 7) y un elemento de extensión de replicación de banda espectral del elemento de relleno incluye datos 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 PS están incluidos en un elemento de extensión de replicación de banda espectral del elemento de relleno. The MPEG-4 AAC standard provides that a Spectral Band Replication Extension Element may include PS (parametric stereo) data for audio data of a program. The MPEG-4 AAC standard provides that when a padding element’s header (e.g., extension payload thereof) initializes an SBR object type (as does “header1” in Figure 7) and a Spectral Band Replication Extension Element of the padding element includes PS data, the padding element (e.g., extension payload thereof) includes spectral band replication data and a “bs_extension_id” parameter whose value (i.e., bs_extension_id = 2) indicates that PS data is included in a Spectral Band Replication Extension Element of the padding element.

Según algunas realizaciones de la presente invención, los metadatos de eSBR (por ejemplo, un indicador indicativo de si el procesamiento de replicación de banda espectral mejorada (eSBR) se ha de realizar en el 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, tal indicador es indicado en el elemento 1 de relleno de la figura 7, donde el indicador aparece después del encabezado (el “encabezado de extensión de SBR” del elemento 1 de relleno) del “elemento de extensión de SBR” del elemento 1 de relleno. Opcionalmente, tal 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 1 de relleno 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 ser realizado en el contenido de audio del bloque relevante. According to some embodiments of the present invention, eSBR metadata (e.g., an indicator indicative of whether enhanced spectral band replication (eSBR) processing is to be performed on the audio content of the block) is included in a spectral band replication extension element of a padding element. For example, such an indicator is indicated in padding element 1 of Figure 7 , where the indicator appears after the header (the “SBR extension header” of padding element 1) of the “SBR extension element” of padding 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 padding 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 “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 should be performed on the audio content of the relevant block.

Según algunas realizaciones de la invención, los metadatos de eSBR se incluyen en un elemento de relleno (por ejemplo, el elemento 2 de relleno de la figura 7) de una corriente de bits MPEG-4 AAC que no sea 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 un extension_payload() con datos de SBR o datos de SBR con una CRC no contienen ninguna otra carga útil de extensión de ningún otro tipo de extensión. Por lo tanto, en las realizaciones en las que los metadatos eSBR almacenan su propia carga útil de extensión, se usa un elemento de relleno independiente para almacenar los metadatos de eSBR. Tal 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 la presente memoria como una carga útil de extensión) cuya sintaxis se muestra en la tabla 4.57 de la norma MPEG-4 AAC. Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) incluyen un encabezado (por ejemplo, “header2” del elemento 2 de relleno 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 2 de relleno de la figura 7 incluye dicho encabezado (“header2”) y también incluye, después del encabezado, metadatos de eSBR (es decir, el “flag” en el elemento 2 de relleno, que indica si la replicación de banda espectral mejorada (eSBR) se debe realizar en el contenido de audio del bloque). Opcionalmente, también se incluyen metadatos de eSBR adicionales en los datos de relleno del elemento 2 de relleno de la figura 7, después del header2. En las realizaciones que se describen en el presente párrafo, el encabezado (por ejemplo, header2 de la figura 7) tiene un valor de identificación que no es uno de los valores convencionales especificados en la tabla 4.57 de la norma MPEG-4 AAC, y en su lugar es indicativo de una carga útil de extensión de eSBR (de modo que el campo extension_type del encabezado indique que los datos de relleno incluyen metadatos de eSBR). 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 MPEG-4 AAC bitstream other than 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 a CRC do not contain any other extension payload of any other extension type. Therefore, in embodiments where the eSBR metadata stores 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) indicating the start of a padding element and padding data following the identifier. The 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 MPEG-4 AAC standard. The padding data (e.g., an extension payload thereof) includes a header (e.g., “header2” of padding element 2 of 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 (e.g., an extension payload thereof) includes eSBR metadata after the header. For example, padding element 2 of Figure 7 includes such a header (“header2”) and also includes, after the header, eSBR metadata (i.e., the “flag” in padding element 2, which indicates whether enhanced spectral band replication (eSBR) should be performed on the audio content of the block). Optionally, additional eSBR metadata is also included in the padding data of padding element 2 of Figure 7, after header2. In the embodiments described in this paragraph, the header (e.g., header2 of Figure 7) has an identifying value that is not one of the conventional values specified in Table 4.57 of the MPEG-4 AAC standard, and instead is indicative of an eSBR extension payload (such that the extension_type field of the header indicates that the padding data includes eSBR metadata).

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

una memoria (por ejemplo, la memoria intermedia 201 de la figura 3 o 4) configurada para almacenar al menos un bloque de una corriente de bits de audio codificada (por ejemplo, al menos un bloque de una corriente de bits MPEG-4 AAC); a memory (e.g., buffer 201 of Figure 3 or 4) configured to store at least one block of an encoded audio bit stream (e.g., at least one block of an MPEG-4 AAC bit stream);

un desformateador de carga útil de corriente 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 desmultiplexar al menos una porción de dicho bloque de la corriente de bits; y a bitstream payload deformatter (e.g., element 205 of Figure 3 or element 215 of Figure 4) coupled to the memory and configured to demultiplex at least a portion of said block of the bitstream; and

un subsistema de decodificación (por ejemplo, elementos 202 y 203 de la figura 3, o elementos 202 y 213 de la figura 4), acoplado y configurado para decodificar al menos una porción del contenido de audio de dicho bloque de la corriente de bits, en donde el bloque incluye: a decoding subsystem (e.g., elements 202 and 203 of Figure 3, or elements 202 and 213 of Figure 4), coupled and configured to decode at least a portion of the audio content of said block of the bitstream, wherein the block includes:

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 el valor 0x6, de la Tabla 4.85 de la norma MPEG-4 AAC), y datos de relleno después del identificador, donde los datos de relleno incluyen: a padding element, which includes an identifier indicating a start of the padding element (for example, the identifier “id_syn_ele” having the value 0x6, from Table 4.85 of the MPEG-4 AAC standard), and padding data after the identifier, where the padding data includes:

al menos un indicador que identifica si el procesamiento de replicación de banda espectral mejorada (eSBR) ha de 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). at least one indicator that identifies whether enhanced spectral band replication (eSBR) processing is to be performed on the audio content of the block (e.g., using spectral band replication data and eSBR metadata included in the block).

El indicador son los 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 ha de realizar una forma de base de replicación de banda espectral o una forma mejorada de replicación espectral en los datos de audio del bloque. La forma de base de la replicación espectral es el parcheado espectral, y la forma mejorada de replicación de la banda espectral es la transposición armónica. The flag is the eSBR metadata, and an example of this flag is the sbrPatchingMode flag. Another example of this flag is the harmonicSBR flag. Both flags indicate whether a basic form of spectral band replication or an enhanced form of spectral replication is to be performed on the audio data in the block. The basic form of spectral replication is spectral patching, and the enhanced form of spectral band replication is harmonic transposition.

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

La memoria puede ser una memoria intermedia (por ejemplo, una implementación de la memoria intermedia 201 de la figura 4) que almacena (por ejemplo, de manera no transitoria) al menos dicho bloque de la corriente de bits de audio codificada. The memory may be a buffer (e.g., an implementation of the buffer 201 of Figure 4) that stores (e.g., non-transiently) at least said block of the encoded audio bit stream.

Se estima que la complejidad del rendimiento del procesamiento de eSBR (usando la transposición armónica de eSBR y el aplanamiento previo) por un decodificador de eSBR durante la decodificación de una corriente de bits MPEG-4 AAC que incluye metadatos de eSBR (indicativos de estas herramientas de eSBR) sería la siguiente (para decodificación típica con los parámetros indicados): The performance complexity of eSBR processing (using eSBR harmonic transposition and pre-flattening) by an eSBR decoder during decoding of an MPEG-4 AAC bitstream including eSBR metadata (indicative of these eSBR tools) is estimated to be as follows (for typical decoding with the given parameters):

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

° Basada en DFT: 3,68 WMOPS (millón de operaciones ponderadas por segundo); ° Based on DFT: 3.68 WMOPS (weighted million operations per second);

° Basada en QMF: 0,98 WMOPS; ° Based on QMF: 0.98 WMOPS;

• Procesamiento previo de parcheado de QMF (aplanamiento previo): 0,1 WMOPS. • QMF patch preprocessing (pre-flattening): 0.1 WMOPS.

Se sabe que la transposición basada en DFT funciona típicamente mejor que la transposición basada en QMF para transitorios. It is known that DFT-based transposition typically performs better than QMF-based transposition for transients.

Según algunas realizaciones de la presente invención, un elemento de relleno (de una corriente de bits de audio codificada) 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) indica que los metadatos de eSBR están incluidos en el elemento de relleno y que el procesamiento de eSBR ha de realizarse en el 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) indica que un contenedor sbr_extension() del elemento de relleno incluye datos PS. Por ejemplo, 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 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: 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 audio content of the relevant block, 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 indicated in Table 1 below, such a parameter having the value bs_extension_id = 2 may indicate that a sbr_extension() container of the filler element includes PS data, and such a parameter having the value bs_extension_id = 3 may indicate that a sbr_extension() container of the filler element includes eSBR metadata:

Tabla 1 Table 1

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 PS es 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 como se describe en la Tabla 1 anterior, “ps_data” indica datos PS y “esbr_data” indica metadatos de eSBR): 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):

Tabla 2 Table 2

En una realización ejemplar, esbr_data() al que se hace referencia en la Tabla 2 anterior es indicativo de los valores de los siguientes parámetros de metadatos: In an exemplary embodiment, esbr_data() referenced in Table 2 above is indicative of the values of the following metadata parameters:

1. El parámetro de metadatos de un bit, “bs_sbr_preprocessing”; y 1. The one-bit metadata parameter, “bs_sbr_preprocessing”; and

2. Para cada canal (“ch”) de contenido de audio de la corriente de bits codificada que se ha de decodificar, cada uno de los parámetros descritos anteriormente: “sbrPatchingMode[ch]”; “sbrOversamplingFlag[ch]”; “sbrPitchlnBinsFlag[ch]”; y “sbrPitchlnBins[ch]”. 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]”; “sbrPitchlnBinsFlag[ch]”; and “sbrPitchlnBins[ch]”.

Por ejemplo, en algunas realizaciones, esbr_data() puede tener la sintaxis indicada en la Tabla 3, para indicar estos parámetros de metadatos: For example, in some embodiments, esbr_data() may have the syntax indicated in Table 3, to indicate these metadata parameters:

Tabla 3 Table 3

La sintaxis anterior permite una implementación eficiente de una forma mejorada de replicación de banda espectral, tal como la 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, o bien no están ya soportados en la corriente de bits, o bien se pueden inferir directamente a partir de los parámetros ya soportados en la corriente 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 a partir de parámetros preexistentes en ubicaciones ya definidas en la corriente de bits. The above syntax allows for an 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 either not already supported in the bitstream or can be inferred directly from parameters already supported in the bitstream. All other parameters and processing data necessary to perform the enhanced form of spectral band replication are extracted from pre-existing parameters at already defined locations in the bitstream.

Por ejemplo, un decodificador que cumple con MPEG-4 HE-AAC o HE-AAC v2 puede extenderse para incluir una forma mejorada de replicación de banda espectral, como la transposición armónica. Esta forma mejorada de replicación de banda espectral se suma a la forma de base de replicación de banda espectral ya soportada por el decodificador. En el contexto de un decodificador que cumple con MPEG-4 HE-AAC o HE-AAC v2, esta forma de base de replicación de banda espectral es la herramienta de SBR de parcheado espectral QMF como se define en la sección 4.6.18 de la norma MPEG-4 AAC. For example, an MPEG-4 HE-AAC or HE-AAC v2 compliant decoder may 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.

Cuando se realiza la forma mejorada de replicación de banda espectral, un decodificador HE-AAC extendido puede reutilizar muchos de los parámetros de la corriente de bits ya incluidos en la carga útil de extensión de SBR de la corriente de bits. Los parámetros específicos que pueden reutilizarse incluyen, por ejemplo, los diversos parámetros que determinan la tabla de bandas de frecuencia maestra. Estos parámetros incluyen bs_start_freq (parámetro que determina el inicio de la tabla de frecuencia maestra), bs_stop_freq (parámetro que determina la parada de la tabla de frecuencia 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_limiter_bands). Por consiguiente, en varias realizaciones, al menos algunos de los parámetros equivalentes especificados en la norma USAC se omiten de la corriente de bits, reduciendo así la sobrecarga de control en la corriente de bits. Típicamente, cuando un parámetro especificado en la norma AAC tiene un parámetro equivalente especificado en la norma USAC, el parámetro equivalente especificado en la norma USAC tiene el mismo nombre que el parámetro especificado en la norma AAC, por ejemplo, el factor de escala de la envolvente EOrigMapped. Sin embargo, el parámetro equivalente especificado en la norma USAC tiene típicamente un valor diferente, que se “ajusta” para el procesamiento de SBR mejorado definido en la norma USAC en lugar del procesamiento de SBR definido en la norma AAC. When implementing the enhanced form of spectral band replication, an extended HE-AAC decoder can reuse many of the bitstream parameters already included in the SBR extension payload of the bitstream. 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 (a parameter that determines the start of the master frequency table), bs_stop_freq (a parameter that determines the stop of the master frequency table), bs_freq_scale (a parameter that determines the number of frequency bands per octave), and bs_alter_scale (a parameter that alters the scale of the frequency bands). Reused parameters also include parameters that determine the noise band table (bs_noise_bands) and the limiter band table (bs_limiter_bands) parameters. Accordingly, in various embodiments, at least some of the equivalent parameters specified in the USAC standard are omitted from the bitstream, thereby reducing 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, e.g., the EOrigMapped envelope scale factor. However, the equivalent parameter specified in the USAC standard typically 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.

Para mejorar la calidad subjetiva para el contenido de audio con una estructura de frecuencia armónica y características tonales fuertes, en particular a tasas de bits bajas, se recomienda la activación de SBR mejorada. Los valores del elemento de corriente de bits correspondiente (es decir, esbr_data()), que controla estas herramientas, se pueden determinar en el codificador aplicando un mecanismo de clasificación dependiente de la señal. Generalmente, el uso del método de parcheado armónico (sbrPatchingMode == 1) es preferible para codificar señales musicales a tasas de bits muy bajas, donde el códec central puede estar considerablemente limitado en el 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 parcheado de SBR regular para señales de voz y mixtas, ya que proporciona una mejor conservación de la estructura temporal en la voz. To improve subjective quality for audio content with strong harmonic frequency structure and tonal characteristics, particularly at low bit rates, enabling Enhanced SBR is recommended. The values of the corresponding bitstream element (i.e., esbr_data()), which controls these features, can be determined at the encoder by applying a signal-dependent classification mechanism. Generally, the use of the harmonic patching method (sbrPatchingMode == 1) is preferable for encoding musical signals at very low bit rates, 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 the temporal structure in speech.

Para mejorar el rendimiento del transpondedor armónico, se puede activar una etapa de procesamiento previo (bs_sbr_preprocessing == 1) que se esfuerza por evitar la introducción de discontinuidades espectrales de la señal que entran 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 aproximada de la señal de banda baja que se usa para la reconstrucción de alta frecuencia muestra grandes variaciones de nivel. To improve the performance of the harmonic transponder, a preprocessing stage (bs_sbr_preprocessing == 1) can be activated, which strives to avoid introducing spectral discontinuities into the signal entering the subsequent envelope adjuster. The tool's operation is beneficial for signal types where the approximate spectral envelope of the low-band signal used for high-frequency reconstruction shows large level variations.

Para mejorar la respuesta transitoria del parcheado armónico de SBR, 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 la señal aumenta la complejidad computacional del transpondedor, pero solo aporta beneficios para las tramas que contienen transitorios, el uso de esta herramienta está controlado por el elemento de corriente de bits, que es transmitido una vez por trama y por canal de SBR independiente. To improve the transient response of SBR harmonic patching, adaptive frequency-domain oversampling can be applied (sbrOversamplingFlag == 1). Since adaptive frequency-domain oversampling increases the computational complexity of the transponder but is only beneficial for frames containing transients, the use of this tool is controlled by the bitstream element, which is transmitted once per frame and per separate SBR channel.

Un decodificador que opera en el modo de SBR mejorado propuesto necesita típicamente que sea capaz de cambiar entre el parcheado 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 central, dependiendo de la configuración del decodificador. Típicamente, el retardo tanto para el parcheado de SBR heredado como para el mejorado será similar. 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 as long as the length of a central audio frame can be introduced, depending on the decoder configuration. Typically, the delay for both legacy and enhanced SBR patching will be similar.

Además de los numerosos parámetros, un decodificador de HE-AAC extendido también puede reutilizar otros elementos de datos cuando se realiza una forma mejorada de replicación de banda espectral según realizaciones de la invención. Por ejemplo, los datos de la envolvente y los datos del ruido de fondo también pueden extraerse a partir de los datos bs_data_env (factores de escala de la envolvente) y bs_noise_env (factores de escala del ruido de fondo) y usarse durante la forma mejorada de replicación de banda espectral. In addition to the numerous parameters, an extended HE-AAC decoder may also reuse other data elements when performing an enhanced form of spectral band replication according to embodiments of the invention. For example, envelope data and background noise data may also be extracted from the bs_data_env (envelope scale factors) and bs_noise_env (background noise scale factors) data and used during the enhanced form of spectral band replication.

En esencia, estas realizaciones se aprovechan de los parámetros de configuración y los datos de envolvente ya soportados 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 sintonizaron originalmente para una forma de base de HFR (por ejemplo, la operación de traslación espectral de SBR), pero según las realizaciones, se usan para una forma mejorada de HFR (por ejemplo, la transposición armónica de eSBR). Como se ha analizado 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, cruce variable sobre frecuencia/banda, modo de filtrado inverso, resolución de envolvente, modo de suavizado, modo de interpolación de frecuencia) ajustados y destinados a ser usados con la forma de base de HFR (por ejemplo, traslación espectral lineal). Sin embargo, estos metadatos, combinados con parámetros de metadatos adicionales específicos de la forma mejorada de HFR (por ejemplo, transposición armónica), pueden ser usados para procesar de manera eficiente y efectiva los datos de audio usando la forma mejorada de HFR. In essence, these embodiments leverage 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 possible. The metadata was originally tuned for a base form of HFR (e.g., SBR's spectral translation operation), but according to embodiments, is used for an enhanced form of HFR (e.g., eSBR's harmonic transposition). As discussed above, the metadata generally represents operational parameters (e.g., envelope scale factors, noise floor scale factors, time/frequency grid parameters, sinusoid addition information, variable crossover over frequency/band, inverse filtering mode, envelope resolution, smoothing mode, frequency interpolation mode) tuned for 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.

Por consiguiente, los decodificadores extendidos que soportan una forma mejorada de replicación de banda espectral pueden crearse de una manera muy eficiente basándose en elementos de corriente de bits ya definidos (por ejemplo, aquellos en la carga útil de extensión de SBR) y añadiendo solo los 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 función de reducción de datos combinada con la ubicació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 al garantizar que la corriente de bits sea compatible retroactivamente con el decodificador heredado que no soporta la forma mejorada de replicación de banda espectral. Se apreciará que el campo de datos reservado es un campo de datos compatible retroactivamente, es decir, es un campo de datos que ya es soportado por decodificadores anteriores, tales como los decodificadores HE-AAC o HE-AAC v2 heredados. De manera similar, el contenedor de extensión es compatible retroactivamente, es decir, es un contenedor de extensión que ya es soportado por decodificadores anteriores, tales como los decodificadores HE-AAC o HE-AAC v2 heredados. Therefore, extended decoders that support an enhanced form of spectral band replication can be created very efficiently by building on already defined bitstream elements (e.g., those in the SBR extension payload) and adding only the parameters needed 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 reduces the barriers to creating a decoder that supports an enhanced form of spectral band replication by ensuring that the bitstream is backwards compatible with legacy decoders that do not support the enhanced form of spectral band replication. It will be appreciated that the reserved data field is a backwards compatible data field, i.e., it is a data field that is already supported by older decoders, such as legacy HE-AAC or HE-AAC v2 decoders. Similarly, the extension container is backward compatible, that is, it is an extension container that is already supported by older decoders, such as legacy HE-AAC or HE-AAC v2 decoders.

En la Tabla 3, el número de la columna de la derecha indica el número de bits del parámetro correspondiente en la columna de la izquierda. In Table 3, the number in the right column indicates the number of bits of the corresponding parameter in the left column.

En algunas realizaciones, el tipo de objeto de SBR definido en MPEG-4 AAC 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 SBR, el decodificador emplea los aspectos señalizados de la herramienta de SBR mejorada. In some embodiments, the SBR object type defined in MPEG-4 AAC is updated to contain the SBR tool and aspects of the enhanced SBR tool (eSBR) as indicated by the SBR extension element (bs_extension_id == EXTENSION_ID_ESBR). If a decoder detects this SBR extension element, the decoder employs the signaled aspects of the enhanced SBR tool.

En algunas realizaciones, la invención es un método que incluye una etapa de codificación de datos de audio para generar una corriente de bits codificada (por ejemplo, una corriente de bits MPEG-4 AAC), incluyendo los metadatos de eSBR en al menos un segmento de al menos un bloque de la corriente de bits codificada y datos de audio en al menos otro segmento del bloque. En realizaciones típicas, el método incluye una etapa de multiplexar los datos de audio con los metadatos de eSBR en cada bloque de la corriente de bits codificada. En la decodificación típica de la corriente de bits codificada en un decodificador de eSBR, el decodificador extrae los metadatos de eSBR de la corriente de bits (incluido el análisis sintáctico y la demultiplexación de 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. In some embodiments, the invention is a method including a step of encoding audio data to generate an encoded bitstream (e.g., an MPEG-4 AAC bitstream), including 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 step of multiplexing the audio data with the eSBR metadata in each block of the encoded bitstream. In typical decoding of the encoded bitstream in an eSBR decoder, the decoder extracts the eSBR metadata from the bitstream (including 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.

Otro aspecto de la invención es un decodificador de eSBR configurado para realizar el procesamiento de eSBR (por ejemplo, usando al menos una de las herramientas de eSBR conocidas como transposición armónica o aplanamiento previo) durante la decodificación de una corriente de bits de audio codificada (por ejemplo, una corriente de bits MPEG-4 AAC) que no incluye metadatos de eSBR. Se describirá un ejemplo de tal decodificador con referencia a la figura 5. Another aspect of the invention is an eSBR decoder configured to perform eSBR processing (e.g., using at least one of the known eSBR tools such as harmonic transposition or pre-flattening) during decoding of an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream) that does not include eSBR metadata. An example of such a decoder will be described with reference to Figure 5.

El decodificador de eSBR (400) de la figura 5 incluye la memoria intermedia 201 (que es idéntica a la memoria 201 de las figuras 3 y 4), el desformateador 215 de carga útil de corriente de bits (que es idéntico al desformateador 215 de la figura 4), el subsistema 202 de decodificación de audio (a veces denominada etapa de decodificación “central” o subsistema de decodificación “central”, y que es idéntico al subsistema 202 de decodificación de la figura 3), el subsistema 401 de generación de datos de control de eSBR y la etapa 203 de procesamiento de eSBR (que es idéntica a la etapa 203 de la figura 3), conectados como se muestra. También típicamente, el decodificador 400 incluye otros elementos de procesamiento (no mostrados). The eSBR decoder (400) of Figure 5 includes buffer memory 201 (which is identical to memory 201 of Figures 3 and 4), bitstream payload deformatter 215 (which is identical to deformatter 215 of Figure 4), audio decoding subsystem 202 (sometimes referred to as the “core” decoding stage or “core” decoding subsystem, and which is identical to the decoding subsystem 202 of Figure 3), eSBR control data generation subsystem 401, and eSBR processing stage 203 (which is identical to stage 203 of Figure 3), connected as shown. Also typically, the decoder 400 includes other processing elements (not shown).

En el funcionamiento del decodificador 400, una secuencia de bloques de una corriente de bits de audio codificada (una corriente de bits MPEG-4 AAC) recibida por el decodificador 400 se confirma desde la memoria intermedia 201 al desformateador 215. In operation of decoder 400, a sequence of blocks of an encoded audio bit stream (an MPEG-4 AAC bit stream) received by decoder 400 is acknowledged from buffer 201 to deformatter 215.

El desformateador 215 está acoplado y configurado para demultiplexar cada bloque de la corriente de bits para extraer metadatos de SBR (incluidos datos de envolvente cuantificados) y típicamente también otros metadatos de la misma. El desformateador 215 está configurado para confirmar al menos los metadatos de SBR en la etapa 203 de procesamiento de eSBR. El desformateador 215 también está acoplado y configurado para extraer datos de audio de cada bloque de la corriente de bits y para confirmar los datos de audio extraídos al subsistema 202 de decodificación (etapa de decodificación). The deformatter 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 as well. The deformatter 215 is configured to commit at least the SBR metadata to the eSBR processing stage 203. The deformatter 215 is also coupled and configured to extract audio data from each block of the bitstream and to commit the extracted audio data to the decoding subsystem 202 (decoding stage).

El subsistema 202 de decodificación de audio del decodificador 400 está configurado para decodificar los datos de audio extraídos por el desformateador 215 (tal decodificación puede denominarse operación de decodificación “central”) para generar datos de audio decodificados y para confirmar los datos de audio decodificados en la etapa 203 de procesamiento de eSBR. La decodificación se realiza en el dominio de frecuencia. Típicamente, una etapa final de procesamiento en el subsistema 202 aplica una transformación 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 de eSBR en la salida del subsistema 202 de decodificación usando los metadatos de SBR y de 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 la salida de datos y metadatos de audio desformateados procedentes del desformateador 215 (y opcionalmente también del 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 de eSBR. Se puede considerar que el procesamiento de SBR en la etapa 203 es un post-procesamiento en la salida del subsistema 202 de decodificación central. Opcionalmente, el decodificador 400 también incluye un subsistema de mezcla ascendente final (que puede aplicar herramientas estéreo paramétricas (“PS”) definidas en la norma MPEG-4 AAC, usando metadatos PS extraídos por el desformateador 215) que está acoplado y configurado para realizar mezcla ascendente en la salida de la etapa 203 para generar audio de mezcla ascendente y totalmente decodificado que se emite desde la APU 210. 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 a “core” decoding operation) to generate decoded audio data and to commit the decoded audio data to the eSBR processing stage 203. The decoding is performed in the frequency domain. Typically, a final processing stage in the subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data such that the output of the subsystem is decoded time domain audio data. Step 203 is configured to apply SBR tools (and eSBR tools) indicated by the SBR metadata (extracted by the deformatter 215) and by the eSBR metadata generated in the subsystem 401, to the decoded audio data (i.e., to perform SBR and eSBR processing on the output of the decoding subsystem 202 using the SBR and eSBR metadata) to generate the fully decoded audio data that is output from the decoder 400. Typically, the decoder 400 includes a memory (accessible by the subsystem 202 and step 203) that stores the deformatted audio data and metadata output from the deformatter 215 (and optionally also from the subsystem 401), and step 203 is configured to access the audio data and metadata. as needed during SBR and eSBR processing. The SBR processing in stage 203 can be thought of as post-processing on the output of the core decoding subsystem 202. Optionally, the decoder 400 also includes a final upmix subsystem (which can apply parametric stereo (“PS”) tools defined in the MPEG-4 AAC standard, using PS metadata extracted by the deformatter 215) that is coupled and configured to upmix the output of stage 203 to generate fully decoded, upmixed audio that is output from the APU 210.

El estéreo paramétrico es una herramienta de codificación que representa una señal estéreo usando 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 típicamente 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 puede medirse como el máximo de la correlación cruzada en función del tiempo o de 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, se puede usar adicionalmente un cuarto tipo de parámetro que describe un desplazamiento de fase general o una 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 una versión descorrelacionada de la mezcla descendente recibida, d[n], se procesan junto con los parámetros espaciales para generar las señales reconstruidas izquierda (lk(n)) y derecha (rk(n)) según: Parametric stereo is a coding 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 (IIDs) that describe the intensity differences between channels; (2) inter-channel phase differences (IPDs) that describe the phase differences between channels; and (3) inter-channel coherence (ICC) that describes the coherence (or similarity) between channels. Coherence can be measured as the maximum of the 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 channels of the input stereo signal and do not indicate the distribution of these phase differences across the left and right channels. Therefore, a fourth type of parameter that describes an overall phase shift or overall phase difference (OPD) can also be used. 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 spatial parameters to generate the reconstructed left (lk(n)) and right (rk(n)) signals according to:

lk(n)=Hn(k,n)Sk(n)+H<2>i(k,n)dk(n) lk(n)=Hn(k,n)Sk(n)+H<2>i(k,n)dk(n)

rk(n)=Hi<2>(k,n)Sk(n)+H2<2>(k,n)dk(n) rk(n)=Hi<2>(k,n)Sk(n)+H2<2>(k,n)dk(n)

donde H11, H12, H21 y H22 están definidos por los parámetros estéreo. Las señales lk(n) y rk(n) se transforman finalmente de nuevo al dominio de tiempo mediante una transformación de frecuencia a tiempo. where H11, H12, H21 and H22 are defined by the stereo parameters. The signals lk(n) and rk(n) are finally transformed back to the time domain using a frequency-to-time transformation.

El subsistema 401 de generación de datos de control de la figura 5 está acoplado y configurado para detectar al menos una propiedad de la corriente de bits de audio codificada que se ha de decodificar, y para generar datos de control de eSBR (que pueden ser o incluir metadatos de eSBR de cualquiera de los tipos incluidos en corrientes de bits de audio codificadas 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 confirman 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) de la corriente de bits y/o para controlar la aplicación de tales herramientas de eSBR. Por ejemplo, para controlar el rendimiento del procesamiento de eSBR mediante la transposición armónica, algunas realizaciones del subsistema 401 de generación de datos de control incluirían: un detector de música (por ejemplo, una versión simplificada de un detector de música convencional) para configurar el parámetro sbrPatchingMode[ch] (y confirmar el parámetro establecido en la etapa 203) en respuesta a la detección de que la corriente de bits es o no indicativa de música; un detector de transitorios para establecer el parámetro sbrOversamplingFlag[ch] (y confirmar el parámetro establecido en la etapa 203) en respuesta a la detección de la presencia o ausencia de transitorios en el contenido de audio indicado por la corriente de bits; y/o un detector de tono para establecer los parámetros sbrPitchInBinsFlag[ch] y sbrPitchlnBins[ch] (y confirmar los parámetros establecidos en la etapa 203) en respuesta a la detección del tono del contenido de audio indicado por la corriente de bits. Otros aspectos de la invención son los métodos de decodificación de corriente de bits de audio realizados por cualquier realización del decodificador de la invención descrito en este párrafo y en el párrafo anterior. The control data generating subsystem 401 of Figure 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 include eSBR metadata of any of the types included in audio bitstreams encoded according to other embodiments of the invention) in response to at least one result of the detecting 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 embodiments of the control data generation subsystem 401 would include: a music detector (e.g., a simplified version of a conventional music detector) for setting the sbrPatchingMode[ch] parameter (and asserting the set parameter in step 203) in response to detecting that the bitstream is or is not indicative of music; a transient detector for setting the sbrOversamplingFlag[ch] parameter (and asserting the set parameter in step 203) in response to detecting the presence or absence of transients in the audio content indicated by the bitstream; and/or a pitch detector for setting the sbrPitchInBinsFlag[ch] and sbrPitchlnBins[ch] parameters (and asserting the set parameters in step 203) in response to detecting the pitch of the audio content indicated by the bitstream. Other aspects of the invention are the methods of decoding audio bit streams performed by any embodiment of the decoder of the invention described in this paragraph and in the preceding paragraph.

Los aspectos de la invención incluyen un método de codificación o decodificación del tipo para el que está configurada (por ejemplo, programada) para realizar cualquier realización de la APU, sistema o dispositivo de la invención. 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, procesador de señal digital o microprocesador, programado con software o firmware y/o configurado de otra manera para realizar cualquiera de una variedad de operaciones sobre datos, incluida una realización del método de la invención o etapas del mismo. Tal 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 programado (y/o configurado de otra manera) para realizar una realización del método de la invención (o etapas del mismo) en respuesta a los datos confirmados en el mismo. Aspects of the invention include an encoding or decoding method of the type for which 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., in a non-transitory manner) to implement 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, digital signal processor, or 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. Such a general-purpose processor may be or include a computer system that includes an input device, a memory, and processing circuitry programmed (and/or otherwise configured) to perform an embodiment of the method of the invention (or steps thereof) in response to data committed thereto.

Las realizaciones de la presente invención pueden implementarse en hardware, firmware o software, o una combinación de ambos (por ejemplo, como una agrupación lógica programable). A menos que se especifique lo contrario, los algoritmos o procesos incluidos como parte de la invención no están intrínsecamente relacionados con ningún ordenador u otro aparato en particular. En particular, se pueden usar varias máquinas de uso general con programas escritos según las enseñanzas de la presente memoria, o puede ser más conveniente construir aparatos más especializados (por ejemplo, circuitos integrados) para realizar las etapas requeridas del método. Por 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 decodificador 200 de la figura 3 (o un elemento del mismo), o decodificador 210 de la figura 4 (o un elemento del mismo), o 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 y/o elementos de almacenamiento volátiles y no volátiles), 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 la presente memoria y generar información de salida. La información de salida se aplica a uno o más dispositivos de salida, de manera conocida. Embodiments of the present invention may 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 intrinsically related to any particular computer or other apparatus. In particular, various general-purpose machines with programs written in accordance with the teachings herein may be used, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform the required steps of the method. Thus, the invention may be implemented in one or more computer programs executing on one or more programmable computer systems (e.g., an implementation of any of the elements of Figure 1, or the encoder 100 of Figure 2 (or an element thereof), or decoder 200 of Figure 3 (or an element thereof), or decoder 210 of Figure 4 (or an element thereof), or decoder 400 of Figure 5 (or an element thereof)) each of which comprises at least one processor, at least one data storage system (including memory and/or volatile and non-volatile 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.

Cada uno de dichos programas puede implementarse en cualquier lenguaje informático deseado (incluyendo máquina, ensamblaje o lenguajes de programación de procedimiento, lógico u orientado a objetos de alto nivel) para comunicarse con un sistema informático. En cualquier caso, el lenguaje puede ser un lenguaje compilado o interpretado. Each of these programs can be implemented in any desired computer language (including machine, assembly, or high-level procedural, logical, or object-oriented programming languages) to communicate with a computer system. In either case, the language can be a compiled or interpreted language.

Por ejemplo, cuando se implementan mediante secuencias de instrucciones de software informático, varias funciones y etapas de realizaciones de la invención pueden implementarse mediante secuencias de instrucciones de software multiproceso 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 porciones de las instrucciones del software. For example, when implemented by sequences of computer software instructions, various functions and steps of embodiments of the invention may be implemented by sequences of multi-threaded software instructions executing on suitable digital signal processing hardware, in which case the various devices, steps and functions of the embodiments may correspond to portions of the software instructions.

Cada uno de dichos programas informáticos se almacena o se descarga preferiblemente 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 medio o dispositivo de almacenamiento es leído por el sistema informático para realizar los procedimientos descritos en la presente memoria. El sistema de la invención también puede implementarse como un medio de almacenamiento legible por ordenador, configurado con (es decir, almacenando) un programa informático, donde el medio de almacenamiento así configurado hace que un sistema informático opere de una manera específica y predefinida para realizar las funciones descritas en la presente memoria. Each such computer program is preferably stored or downloaded to a storage medium or device (e.g., solid-state memory or medium, or magnetic or optical medium) readable by a general-purpose or special-purpose programmable computer, so as to configure and operate the computer when the storage medium or device is read by the computer system to perform the methods 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 so-configured storage medium causes a computer system to operate in a specific, predefined manner to perform the functions described herein.

Se han descrito varias realizaciones de la invención. No obstante, se entenderá que se pueden realizar varias modificaciones. Son posibles numerosas modificaciones y variaciones de la presente invención a la luz de las enseñanzas anteriores. Por ejemplo, para facilitar implementaciones eficientes, los desplazamientos de fase pueden usarse en combinación con los bancos de filtros de síntesis y análisis de QMF complejos. El banco de filtros de análisis es responsable de filtrar la señal de banda baja en el dominio de tiempo generada por el decodificador central 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 (como lo indica 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 frecuencia de muestreo, por ejemplo, operación normal de tasa dual o modo de SBR con muestreo descendente, no debería tener sin embargo, desplazamientos de fase que dependan de la corriente de bits. Los bancos de QMF usados en SBR son una extensión exponencial compleja de la teoría de los bancos de filtros modulados por coseno. Se puede demostrar que las restricciones de cancelación de alias resultan obsoletas cuando se extiende el banco de filtros con modulación de coseno con modulación exponencial compleja. Por lo tanto, para los bancos QMF de SBR, tanto los filtros de análisis, hk(n) como los filtros de síntesis, fk(n), pueden definirse por: Various embodiments of the invention have been described. However, it will be understood that various modifications may be made. Numerous modifications and variations of the present invention are possible in light of the above teachings. For example, to facilitate efficient implementations, phase shifts may be used in combination with complex QMF synthesis and analysis filter banks. The analysis filter bank is responsible for filtering the time-domain lowband 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 sampling frequency mode, e.g., normal dual-rate operation or down-sampled SBR mode, should not, however, have phase shifts that are dependent on the bitstream. The QMF banks used in SBR are a complex exponential extension of the theory of cosine-modulated filter banks. It can be shown that aliasing cancellation restrictions become obsolete when the cosine-modulated filter bank is extended with complex exponential modulation. Therefore, for SBR QMF banks, both the analysis filters, hk(n), and the synthesis filters, fk(n), can be defined by:

hk(ri)= /fc (n ) = p 0( r c ) e x p { i^ ( A :+ í ) ( r i - ^ ) } , 0 <n < N;0 <k < M(1) hk(ri)= /fc (n ) = p 0( r c ) e x p { i^ ( A :+ í ) ( r i - ^ ) } , 0 < n < N;0 < k < M(1)

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 usados en el banco de filtros de análisis puede ser diferente al número de canales usados 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 opera 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 procedentes del banco de filtros son de valor complejo, puede añadirse al banco de filtros de análisis una etapa de desplazamiento de fase aditivo posiblemente dependiente del canal. Estos desplazamientos de fase adicionales deben compensarse antes del banco de filtros de síntesis. Aunque 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 estar limitados a ciertos valores para la verificación de 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 que proviene del decodificador central no lo hará. La calidad de audio de la señal de salida no se ve afectada. where p<0>(n) is a real-valued symmetric or asymmetric prototype filter (typically, a low-pass prototype filter), M indicates the number of channels, and N is the order of the prototype filter. The number of channels used in the analysis filter bank may be different 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 operating the synthesis filter bank in downsampling mode, the synthesis filter bank may have only 32 channels. Because the subband samples from the filter bank are complex-valued, a possibly channel-dependent additive phase-shift stage may be added to the analysis filter bank. These additional phase shifts must be compensated for before the synthesis filter bank. Although the phase-shift terms can in principle be of arbitrary values without destroying the operation of the QMF analysis/synthesis chain, they may also be limited to certain values for conformance checking. The SBR signal will be affected by the choice of phase factors, while the low-pass signal coming from the central decoder will not. The audio quality of the output signal is not affected.

Los coeficientes del filtro prototipo, po(n), pueden definirse con una longitud, L, de 640, como se muestra en la Tabla 4 a continuación. The prototype filter coefficients, po(n), can be defined with a length, L, of 640, as shown in Table 4 below.

Tabla 4 Table 4

El filtro prototipo, po(n), también puede inferirse a partir de la Tabla 4 mediante una o más operaciones matemáticas tales como redondeo, submuestreo, interpolación y decimación. The prototype filter, po(n), can also be inferred from Table 4 by one or more mathematical operations such as rounding, subsampling, interpolation, and decimation.

Aunque el ajuste 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 simultaneados 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 transmitidos simultáneamente pueden incluir los datos del ruido de fondo (por ejemplo, factores de escala del ruido de fondo y un parámetro que indica la dirección, o bien en la dirección de frecuencia, o bien en la del 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 entre uno de sin filtrado inverso, de un nivel bajo de filtrado inverso, de un nivel intermedio de filtrado inverso y de un nivel alto de filtrado inverso) y los datos de armónicos faltantes (por ejemplo, un parámetro que indica si debe añadirse una sinusoide a una banda de frecuencia específica de la banda alta regenerada). Todos estos elementos se basan en una emulación sintetizada del transpondedor del decodificador realizada en el codificador y, por lo tanto, si ajustados apropiadamente para el transpondedor seleccionado, pueden aumentar la calidad de la señal regenerada. Although the adjustment of the SBR-related control information is not typically dependent on the details of the transposition (as discussed above), in some embodiments, certain elements of the control data may be concurrently transmitted in the eSBR extension container (bs_extension_id==EXTENSION_ID_ESBR) to improve the quality of the regenerated signal. Some of the concurrently transmitted elements may include the noise floor data (e.g., noise floor scale factors and a parameter indicating the direction, in either the frequency or time direction, of delta encoding for each noise floor), the inverse filtering data (e.g., a parameter indicating the inverse filtering mode selected from one of no inverse filtering, a low level of inverse filtering, an intermediate level of inverse filtering, and a high level of inverse filtering), and the missing harmonics data (e.g., a parameter indicating whether a sinusoid should be added to a specific frequency band of the regenerated high band). All of these elements are based on a synthesized emulation of the decoder's transponder performed in the encoder and therefore, if appropriately adjusted for the selected transponder, can increase the quality of the regenerated signal.

Específicamente, en algunas realizaciones, los armónicos faltantes 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 corriente de bits de la Tabla 3) y se ajustan para el transpondedor de armónicos de eSBR. La tasa de bits adicional necesaria para transmitir estas dos clases de metadatos para el transpondedor armónico de eSBR es relativamente baja. Por lo tanto, el envío de datos de control de filtrado inverso y/o armónicos faltantes ajustados en el contenedor de extensión de eSBR aumentará la calidad de audio producido por el transpondedor mientras que afectará solo mínimamente a la tasa de bits. Para garantizar la compatibilidad retroactiva con decodificadores heredados, los parámetros ajustados para la operación de traslación espectral de SBR también pueden ser enviados en la corriente de bits como parte de los datos de control de SBR usando señalización implícita o explícita. Specifically, in some embodiments, the missing harmonics and inverse filtering control data are transmitted in the eSBR extension container (along with the other bitstream parameters in Table 3) and adjusted for the eSBR harmonic transponder. The additional bit rate required to transmit these two classes of metadata for the eSBR harmonic transponder is relatively low. Therefore, sending adjusted missing harmonics and/or inverse filtering control data in the eSBR extension container will increase the audio quality produced by the transponder while only minimally affecting the bit rate. To ensure backward compatibility with legacy decoders, the adjusted parameters for SBR spectral translation operation may also be sent in the bitstream as part of the SBR control data using implicit or explicit signaling.

Debe entenderse que dentro del alcance de las reivindicaciones adjuntas, la invención se puede poner en práctica de varias formas. Cualesquiera números de referencia contenidos en las siguientes reivindicaciones son solo para fines ilustrativos y no deben usarse para interpretar o limitar las reivindicaciones de ninguna manera. It should be understood that within the scope of the appended claims, the invention may be practiced in various forms. Any reference numbers contained in the following claims are for illustrative purposes only and should not be used to interpret or limit the claims in any way.

Claims (1)

REIVINDICACIONES 1 Un método para realizar la reconstrucción de alta frecuencia de una señal de audio, comprendiendo el método: recibir una corriente de bits de audio codificada, incluyendo la corriente de bits de audio codificada datos de audio que representan una porción de banda baja de la señal de audio y metadatos de reconstrucción de alta frecuencia; decodificar los datos de audio para generar una señal de audio de banda baja decodificada; extraer de la corriente de bits de audio codificada los metadatos de reconstrucción de alta frecuencia, incluyendo, los metadatos de reconstrucción de alta frecuencia, parámetros operativos para un proceso de reconstrucción de alta frecuencia, incluyendo los parámetros operativos un parámetro de modo de parcheado ubicado en un contenedor de extensión compatible retroactivamente de la corriente de bits de audio codificada, en donde un primer valor del parámetro de modo de parcheado indica traslación espectral y un segundo valor del parámetro de modo de parcheado indica transposición armónica por expansión de frecuencia de codificador de voz de fase, e incluyendo los metadatos de reconstrucción de alta frecuencia información de cuadrícula de tiempo/frecuencia; filtrar la señal de audio de banda baja decodificada para generar una señal de audio de banda baja filtrada; regenerar una porción 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 la traslación espectral si el parámetro de modo de parcheado es el primer valor y la regeneración incluye la transposición armónica mediante la expansión de frecuencia del codificador de voz de fase si el parámetro de modo de parcheado es el segundo valor; combinar la señal de audio de banda baja filtrada con la porción de banda alta regenerada para formar una señal de audio de banda ancha; y en donde la corriente de bits de audio codificada 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 los datos de relleno incluyen el contenedor de extensión compatible retroactivamente, 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 de cuatro bits sin signo transmitido primero el bit más significativo y que tiene un valor de ‘1101’ o ‘1110’. 2.- El método de la reivindicación 1, en donde el filtrado se realiza mediante un banco de filtros de análisis que incluye filtros de análisis, hk(n), que son versiones moduladas de un filtro prototipo, pü(n), según: CLAIMS 1 A method for performing high-frequency reconstruction of an audio signal, the method comprising: receiving an encoded audio bitstream, the encoded audio bitstream including audio data representing a low-band portion of the audio signal and high-frequency reconstruction metadata; decoding the audio data to generate a decoded low-band audio signal; extracting from the encoded audio bitstream the high-frequency reconstruction metadata, the high-frequency reconstruction metadata including operating parameters for a high-frequency reconstruction process, the operating parameters including a patching mode parameter located in a backward-compatible extension bin of the encoded audio bitstream, wherein a first value of the patching mode parameter indicates spectral translation and a second value of the patching mode parameter indicates harmonic transposition by phase vocoder frequency spreading, and the high-frequency reconstruction metadata including time/frequency grid information; filtering the decoded low-band audio signal to generate a filtered low-band audio signal; regenerating 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 patching mode parameter is the first value, and the regeneration includes harmonic transposition via phase vocoder frequency spreading if the patching mode parameter is the second value; combining the filtered low-band audio signal with the regenerated high-band portion to form a wideband audio signal; and wherein the encoded audio bit stream further includes a padding element with an identifier indicating a start of the padding element and padding data following the identifier, 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 most significant bit first and having a value of '1101' or '1110'. 2. The method of claim 1, wherein the filtering is performed by an analysis filter bank including analysis filters, hk(n), which are modulated versions of a prototype filter, pü(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. 3.- El método de la reivindicación 2, en donde el filtro prototipo, p<0>(n), se infiere de los coeficientes de la tabla: 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. The method of claim 2, wherein the prototype filter, p<0>(n), is inferred from the coefficients in the table:
ES23210525T 2018-01-26 2019-01-28 Backward-compatible integration of high frequency reconstruction techniques for audio signals Active ES3030182T3 (en)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
ES3030182T3 true ES3030182T3 (en) 2025-06-26

Family

ID=61054251

Family Applications (7)

Application Number Title Priority Date Filing Date
ES22181854T Active ES2948839T3 (en) 2018-01-26 2019-01-28 Backwards 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
ES22189216T Active ES2969225T3 (en) 2018-01-26 2019-01-28 Backwards 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
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

Family Applications Before (3)

Application Number Title Priority Date Filing Date
ES22181854T Active ES2948839T3 (en) 2018-01-26 2019-01-28 Backwards 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
ES22189216T Active ES2969225T3 (en) 2018-01-26 2019-01-28 Backwards compatible integration of high frequency reconstruction techniques for audio signals

Family Applications After (3)

Application Number Title Priority Date Filing Date
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

Country Status (6)

Country Link
EP (11) EP4550315B1 (en)
DK (4) DK3872809T3 (en)
ES (7) ES2948839T3 (en)
FI (2) FI4099325T3 (en)
HU (7) HUE071338T2 (en)
PL (7) PL4120261T3 (en)

Families Citing this family (2)

* 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

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
EP4120261A1 (en) 2023-01-18
HUE054531T2 (en) 2021-09-28
EP4550316A3 (en) 2025-05-28
EP3872809B1 (en) 2022-07-27
PL4303870T3 (en) 2025-06-30
HUE071389T2 (en) 2025-08-28
EP4550315A2 (en) 2025-05-07
HUE071631T2 (en) 2025-09-28
HUE071338T2 (en) 2025-08-28
DK3872809T3 (en) 2022-08-22
EP4303869A2 (en) 2024-01-10
ES3029582T3 (en) 2025-06-24
EP4303869A3 (en) 2024-03-20
EP4550317A3 (en) 2025-05-28
ES3032614T3 (en) 2025-07-22
DK4099325T3 (en) 2023-06-19
EP4303869C0 (en) 2025-05-07
EP4303871A2 (en) 2024-01-10
EP4303871B1 (en) 2025-05-07
PL4120261T3 (en) 2024-03-25
HUE065166T2 (en) 2024-05-28
EP4120261B1 (en) 2023-11-29
HUE062211T2 (en) 2023-10-28
EP3518233A1 (en) 2019-07-31
HUE059669T2 (en) 2022-12-28
EP4550315A3 (en) 2025-05-28
PL4099325T3 (en) 2023-08-14
EP4550317C0 (en) 2026-03-18
EP4303870A3 (en) 2024-03-20
EP4550315B1 (en) 2026-03-18
EP4550317A2 (en) 2025-05-07
ES2924955T3 (en) 2022-10-11
EP4550314A3 (en) 2025-05-28
EP4550316A2 (en) 2025-05-07
ES2969225T3 (en) 2024-05-17
EP4099325A1 (en) 2022-12-07
EP4550314B1 (en) 2026-03-18
EP4099325B1 (en) 2023-05-17
EP4303870C0 (en) 2025-04-30
EP3518233B1 (en) 2021-04-07
PL3872809T3 (en) 2022-09-26
EP4303870B1 (en) 2025-04-30
PL4303871T3 (en) 2025-07-14
PL3518233T3 (en) 2021-08-16
DK4120261T3 (en) 2024-01-22
EP3872809A1 (en) 2021-09-01
EP4303871A3 (en) 2024-03-20
EP4303869B1 (en) 2025-05-07
EP4303870A2 (en) 2024-01-10
FI4099325T3 (en) 2023-06-13
ES2948839T3 (en) 2023-09-20
FI4120261T3 (en) 2024-01-12
DK3518233T3 (en) 2021-05-10
ES2871872T3 (en) 2021-11-02
EP4550316B1 (en) 2026-03-18
EP4303871C0 (en) 2025-05-07
EP4550314A2 (en) 2025-05-07
PL4303869T3 (en) 2025-07-14
EP4550317B1 (en) 2026-03-18

Similar Documents

Publication Publication Date Title
JP7493073B2 (en) Integration of high frequency reconstruction techniques with post-processing delay reduction
JP7589386B2 (en) Method and audio processing unit for high frequency reconstruction of an audio signal - Patents.com
ES3021383T3 (en) Backward-compatible integration of harmonic transposer for high frequency reconstruction of audio signals
JP7493076B2 (en) Integration of high frequency reconstruction techniques with post-processing delay reduction
ES3030182T3 (en) Backward-compatible integration of high frequency reconstruction techniques for audio signals
RU2859838C1 (en) Integration of high frequency audio reconstruction techniques
RU2860253C1 (en) Integration of high frequency audio reconstruction techniques
RU2860254C1 (en) Integration of high frequency audio reconstruction techniques
RU2859934C1 (en) Integration of high frequency audio reconstruction techniques
RU2859439C2 (en) Integration of high-frequency audio reconstruction methods
RU2832544C2 (en) Integration of high-frequency reconstruction techniques with reduced post-processing delay
BR122024009508A2 (en) AUDIO PROCESSING UNIT FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL
BR122024009518A2 (en) AUDIO PROCESSING UNIT FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL
BR122024009520A2 (en) METHOD FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL, AND COMPUTER READABLE NON-TRANSITIVE MEDIUM
BR122024009519A2 (en) METHOD FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL, AND COMPUTER READABLE NON-TRANSITIVE MEDIUM
BR122024005696A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF A COMPUTER-READABLE NON-TRANSITIVE AUDIO SIGNAL AND MEDIUM
BR122024005707A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF A COMPUTER-READABLE NON-TRANSITIVE AUDIO SIGNAL AND MEDIUM
BR122024005709A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF A COMPUTER-READABLE NON-TRANSITIVE AUDIO SIGNAL AND MEDIUM
BR122024005679A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF A COMPUTER-READABLE NON-TRANSITIVE AUDIO SIGNAL AND MEDIUM
BR122025027601A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF A COMPUTER-READABLE NON-TRANSIENT AUDIO SIGNAL AND STORAGE MEDIA
BR122024011585A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA
BR122024011587A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA
BR122024011576A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA
BR122024011566A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA
BR122025010214A2 (en) METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND COMPUTER-READABLE NON-TRANSITIVE STORAGE MEDIA