ES2948839T3 - Backwards compatible integration of high frequency reconstruction techniques for audio signals - Google Patents
Backwards compatible integration of high frequency reconstruction techniques for audio signals Download PDFInfo
- Publication number
- ES2948839T3 ES2948839T3 ES22181854T ES22181854T ES2948839T3 ES 2948839 T3 ES2948839 T3 ES 2948839T3 ES 22181854 T ES22181854 T ES 22181854T ES 22181854 T ES22181854 T ES 22181854T ES 2948839 T3 ES2948839 T3 ES 2948839T3
- Authority
- ES
- Spain
- Prior art keywords
- audio
- bitstream
- data
- metadata
- audio signal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005236 sound signal Effects 0.000 title claims abstract description 35
- 230000010354 integration Effects 0.000 title description 2
- 230000003595 spectral effect Effects 0.000 claims abstract description 87
- 230000017105 transposition Effects 0.000 claims abstract description 32
- 238000001914 filtration Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 97
- 230000010076 replication Effects 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 11
- 238000003786 synthesis reaction Methods 0.000 claims description 11
- 230000010363 phase shift Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 2
- 230000008929 regeneration Effects 0.000 claims 2
- 238000011069 regeneration method Methods 0.000 claims 2
- 230000001172 regenerating effect Effects 0.000 abstract 1
- 239000000945 filler Substances 0.000 description 18
- 238000007781 pre-processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000012805 post-processing Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000003775 Density Functional Theory Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/038—Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
Landscapes
- Engineering & Computer Science (AREA)
- 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 divulga un método para decodificar un flujo de bits de audio codificado. El método incluye recibir el flujo de bits de audio codificado y decodificar los datos de audio para generar una señal de audio de banda baja decodificada. El método incluye además extraer metadatos de reconstrucción de alta frecuencia y filtrar la señal de audio de banda baja decodificada con un banco de filtros de análisis para generar una señal de audio de banda baja filtrada. El método también incluye extraer un indicador que indica si se va a realizar traducción espectral o transposición armónica en los datos de audio y 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 de acuerdo con el indicador. (Traducción automática con Google Translate, sin valor legal)A method for decoding an encoded audio bitstream is disclosed. The method includes receiving the encoded audio bitstream and decoding the audio data to generate a decoded low band audio signal. The method further includes extracting high frequency reconstruction metadata and filtering the decoded low band audio signal with a bank of analysis filters to generate a filtered low band audio signal. The method also includes extracting a flag indicating whether spectral translation or harmonic transposition is to be performed on the audio data and regenerating a high-band portion of the audio signal using the filtered low-band audio signal and the reconstruction metadata. high frequency according to the indicator. (Automatic translation with Google Translate, without legal value)
Description
DESCRIPCIÓNDESCRIPTION
Integración retrocompatible de técnicas de reconstrucción de alta frecuencia para señales de audio Referencia cruzada a solicitud relacionada Backwards compatible integration of high frequency reconstruction techniques for audio signals Cross reference to related request
Esta solicitud es una solicitud divisional europea de la solicitud de patente europea EP 21164481.0 (referencia: D17806EP02), cuyo formulario 1001 de la OEP fue presentado el 24 de marzo de 2021.This application is a European divisional application of European patent application EP 21164481.0 (reference: D17806EP02), the EPO Form 1001 of which was filed on March 24, 2021.
Campo técnicoTechnical field
Las realizaciones pertenecen a un método y una unidad de procesamiento de audio para realizar reconstrucción de alta frecuencia de una señal de audio.The 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
Un flujo de bits de audio típico incluye tanto datos de audio (por ejemplo, datos de audio codificados) indicativos de uno o más canales de contenido de audio, como metadatos indicativos de al menos una característica de los datos de audio o del contenido de audio. Un formato bien conocido para generar un flujo de bits de audio codificado es el formato de codificación de audio avanzada (AAC) MPEG-4, descrito en el estándar MPEG ISO/IEC 14496-3: 2009. En el estándar MPEG-4, AAC denota "codificación de audio avanzada" y HE-AAC denota "codificación de audio avanzada de alta eficiencia".A typical audio bitstream includes both audio data (e.g., encoded audio data) indicative of one or more channels of audio content, and metadata indicative of at least one characteristic of the audio data or audio content. . A well-known format for generating an encoded audio bitstream is the MPEG-4 Advanced Audio Coding (AAC) format, described in the MPEG standard ISO/IEC 14496-3:2009. In the MPEG-4 standard, AAC denotes "advanced audio coding" and HE-AAC denotes "high efficiency advanced audio coding".
El estándar 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 AAC, (2) el perfil HE-AAC y (3) el perfil HE-AAC v2. El perfil AAC incluye el tipo de objeto AAC de baja complejidad (o "AAC-LC"). El objeto AAC-LC es la contraparte 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 HE-AAC es un superconjunto del perfil AAC y además incluye el tipo de objeto SBR. El perfil HE-AAC v2 es un superconjunto del perfil HE-AAC y además incluye el tipo de objeto PS.The MPEG-4 AAC standard defines several audio profiles, which determine which encoding objects and tools are present in a compatible 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 is the counterpart to the MPEG-2 AAC Low Complexity Profile, with some adjustments, and includes neither the Spectral Band Replication ("SBR") object type nor 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 SBR contiene la herramienta de replicación de banda espectral, que es una importante herramienta de codificación de reconstrucción de alta frecuencia ("HFR") que mejora significativamente la eficiencia de compresión de los códecs de audio de percepción. 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. 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 del 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 el estándar MPEG-4 AAC, la herramienta SBR realiza el parcheo espectral (también llamado traslación lineal o traslación espectral), donde 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, which is an important high-frequency reconstruction ("HFR") coding tool that significantly improves the compression efficiency of perceptual audio codecs. SBR reconstructs the high-frequency components of an audio signal at the receiver side (e.g. at the decoder). Therefore, the encoder only needs to encode and transmit low-frequency components, allowing for 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 by adaptive inverse filtering, as well as the optional addition of noise and sine. In the MPEG-4 AAC standard, the SBR tool performs spectral patching (also called linear translation or spectral translation), where several consecutive subbands of the quadrature mirror filter (QMF) are copied (or "patched") from a portion transmitted low-band portion of an audio signal to a high-band portion of the audio signal, which is generated in the decoder.
El parcheo espectral o la traslación lineal pueden no ser ideales para ciertos tipos de audio, como el contenido musical con frecuencias de cruce relativamente bajas. Por 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 are needed to improve spectral band replication.
El documento WO 2016/149015 A1 describe una unidad de procesamiento de audio que incluye un búfer, un desformateador de carga útil de flujo de bits y un subsistema de decodificación. El búfer almacena al menos un bloque de un flujo de bits de audio codificado. El bloque incluye un elemento de relleno que comienza con un identificador seguido de datos de relleno. Los datos de relleno incluyen al menos un indicador que identifica si se va a 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 un flujo de bits de audio codificado.WO 2016/149015 A1 describes an audio processing unit that includes 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 that begins with an identifier followed by padding data. The padding data includes at least one flag that identifies 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.
Sumario de la invenciónSummary of the invention
La invención se define mediante las reivindicaciones independientes. Las realizaciones específicas se definen en las reivindicaciones dependientes.The invention is defined by the independent claims. Specific embodiments are defined in the dependent claims.
Breve descripción de las realizaciones de la invenciónBrief description of embodiments of the invention
Una primera clase de realizaciones se refiere a un método de acuerdo con la reivindicación 1. A first class of embodiments relates to a method according to claim 1.
Una segunda clase de realizaciones se refiere a una unidad de procesamiento de audio de acuerdo con la reivindicación 7.A second class of embodiments relates to an audio processing unit according to claim 7.
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 realizar una realización del método de la invención.Figure 1 is a block diagram of one embodiment of a system that can be configured to perform 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 which 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 posprocesador acoplado a la misma.Figure 3 is a block diagram of a system that includes a decoder that is an embodiment of the audio processing unit of the invention and, optionally, also a postprocessor 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. La figura 7 es un diagrama de un bloque de un flujo de bits MPEG-4 AAC, incluidos los segmentos en los que se divide.Figure 6 is a block diagram of another embodiment of the audio processing unit of the invention. Figure 7 is a block diagram of an MPEG-4 AAC bitstream, including the segments into which it is divided.
Nomenclatura y notaciónNomenclature and notation
A lo largo de esta divulgación, incluidas las reivindicaciones, la expresión realizar una operación "en" 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 denotar la realización de la operación directamente en la señal o datos, o en una versión procesada de la señal o datos (por ejemplo, en una versión de la señal que ha sido sometida a un filtrado preliminar o preprocesamiento antes de la realización de la operación en los mismos).Throughout this disclosure, including the claims, the term perform an operation "on" a signal or data (e.g., filter, scale, transform or apply gain to the signal or data) is used in a broad sense to denote performing the operation directly on the signal or data, or on a processed version of the signal or data (for example, on a version of the signal that has been subjected to preliminary filtering or preprocessing before performing the operation on the same).
A lo largo de esta divulgació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. Los ejemplos de unidades de procesamiento de audio incluyen, entre otros, codificadores, transcodificadores, decodificadores, códecs, sistemas de preprocesamiento, sistemas de posprocesamiento y sistemas de procesamiento de flujo de bits (a veces denominados herramientas de procesamiento de flujo de bits). Prácticamente todos los productos electrónicos de consumo, como teléfonos móviles, televisores, computadoras portátiles y tabletas, contienen una unidad de procesamiento de audio o un procesador de audio.Throughout this disclosure, 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, preprocessing systems, postprocessing systems, and bitstream processing systems (sometimes called 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 divulgación, incluidas las reivindicaciones, el término "acopla" o "acoplado" se usa en un sentido amplio para significar una conexión directa o indirecta. Por lo tanto, si un primer dispositivo se acopla a un segundo dispositivo, esa conexión puede ser a través de una conexión directa o mediante una conexión indirecta a través de otros dispositivos y conexiones. Además, los componentes que están integrados en o con otros componentes también están acoplados entre sí.Throughout this disclosure, including the claims, the term "couples" or "coupled" is used in a broad sense to mean a direct or indirect connection. Therefore, if a first device is coupled to a second device, that connection can be through a direct connection or through an indirect connection through other devices and connections. Furthermore, components that are integrated into or with other components are also coupled to each other.
Descripción detallada de las realizaciones de la invenciónDetailed description of embodiments of the invention
El estándar MPEG-4 AAC contempla que un flujo de bits MPEG-4 AAC codificado incluye metadatos indicativos de cada tipo de procesamiento de reconstrucción de alta frecuencia ("HFR") que se aplicará (si se aplica alguno) por un decodificador para decodificar el contenido de audio del flujo de bits, y/o que controla tal procesamiento HFR, y/o es indicativo de al menos una característica o parámetro de al menos una herramienta HFR que se usará para decodificar el contenido de audio del flujo de bits. En el presente documento, se usa la expresión "metadatos SBR" para denotar metadatos de este tipo que se describen o mencionan en el estándar MPEG-4 AAC para su uso con la replicación de banda espectral ("SBR"). Como apreciará 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 that will 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 that will be used to decode the audio content of the bitstream. The term "SBR metadata" is used herein to denote such metadata that is described or referenced in the MPEG-4 AAC standard for use with spectral band replication ("SBR"). As one skilled in the art will appreciate, SBR is a form of HFR.
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 SBR opera a la tasa de muestreo original. El codificador SBR funciona en paralelo con el códec central subyacente, aunque a una frecuencia de muestreo más alta. Aunque SBR es principalmente un proceso posterior en el decodificador, se extraen parámetros importantes en el codificador con el fin de garantizar la reconstrucción de alta frecuencia más precisa en el decodificador. El codificador estima la envolvente espectral del rango SBR para un rango/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 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 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 SBR operates at the original sampling rate. The SBR encoder works in parallel with the underlying core codec, albeit at a higher sample rate. Although SBR is mainly a post-process in the decoder, important parameters are extracted in the encoder in order to ensure the most accurate high-frequency reconstruction in the decoder. The encoder estimates the spectral envelope of the SBR range for a time and frequency range/resolution appropriate for the characteristics of the current input signal segments. The spectral envelope is estimated by complex QMF analysis and subsequent energy calculation. The time and frequency resolutions of the envelopes Spectral frequencies can be chosen with a high level of freedom, in order to ensure the most appropriate time-frequency resolution for the given input segment. The envelope estimation must take into account that a transient in the original, mainly located in the high frequency region (e.g., a high zone), will be present to a lesser extent in the high band generated by SBR before adjustment of the envelope. envelope, 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 for the time-frequency resolution of the spectral envelope data, compared to ordinary spectral envelope estimation as used in other audio coding algorithms.
Además de la envolvente espectral, se extraen varios parámetros adicionales que representan las características espectrales de la señal de entrada para diferentes regiones de tiempo y frecuencia. Dado que el codificador naturalmente tiene acceso a la señal original, así como a información sobre cómo la unidad SBR en el decodificador creará la banda alta, dado el conjunto específico de parámetros de control, es posible que el sistema maneje situaciones en las que la banda baja constituye una serie de armónicos fuertes y la banda alta, que se va a recrear, constituye principalmente componentes de señal aleatorios, así como situaciones en las que están presentes componentes tonales fuertes en la banda alta original sin contrapartes en la banda baja, sobre la que se basa la región de banda alta. Además, el codificador SBR trabaja en estrecha relación con el códec central subyacente para evaluar qué rango de frecuencia debería ser cubierto por SBR en un momento dado. Los datos SBR se codifican eficazmente antes de la transmisión explotando la codificación de entropía, así como las dependencias de canal de los datos de control, en el caso de señales estéreo.In addition to the spectral envelope, several additional parameters are extracted that represent the spectral characteristics of the input signal for different time and frequency regions. Since the encoder naturally has access to the original signal, as well as information about how the SBR unit in the decoder will create the high band, given the specific set of control parameters, it is possible for the system to handle situations where the high band The low band constitutes a series of strong harmonics and the high band, which is to be recreated, mainly constitutes random signal components, as well as situations in which strong tonal components are present in the original high band without counterparts in the low band, over the which is based on the high band region. Additionally, the SBR encoder works closely with the underlying core codec to evaluate what frequency range should be covered by SBR at any given time. SBR data is efficiently encoded before transmission by exploiting entropy coding, as well as the 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 una frecuencia de muestreo determinada. Esto se debe al hecho de que una tasa de bits más baja, generalmente implica un rango 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 SBR. Typically, control parameter extraction algorithms must be carefully tuned to the underlying codec at a given bitrate and sample rate. This is due to the fact that a lower bit rate generally implies a larger SBR range compared to a high bit rate, and different sampling rates correspond to different time resolutions of the SBR frames.
Un decodificador SBR típicamente incluye varias partes diferentes. Comprende un módulo de decodificación de flujo de bits, un módulo de reconstrucción de alta frecuencia (HFR), un módulo de componentes de alta frecuencia adicional y un módulo de ajuste de envolvente. El sistema se basa en un banco de filtros QMF de valor complejo (para SBR de alta calidad) o un banco de filtros QMF de valor real (para SBR de baja potencia). Las realizaciones de la invención son aplicables tanto a SBR de alta calidad como a SBR de baja potencia. En el módulo de extracción de flujo de bits, los datos de control se leen del flujo 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 del flujo 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 HFR. La señal de banda baja decodificada se analiza luego usando un banco de filtros QMF. La reconstrucción de alta frecuencia y el ajuste de envolvente se realizan posteriormente en las muestras de subbanda del banco de filtros 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 de acuerdo con 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 adjustment module. The system is based on a complex value QMF filter bank (for high quality SBR) or a real value 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 data from the bitstream envelope. The underlying core decoder decodes the audio signal of the current frame (albeit at the lowest 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 of the QMF filter bank. The high frequencies are reconstructed from the low band flexibly, based on the given control parameters. Additionally, the reconstructed high band is adaptively filtered on a subband channel basis according to the control data to ensure appropriate spectral characteristics of the given time/frequency region.
El nivel superior de un flujo 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 (en el presente documento denominado "bloque") que contiene datos de audio (típicamente durante un tiempo período de 1024 o 960 muestras) e información relacionada y/u otros datos. En el presente documento, se usa el término "bloque" para denotar un segmento de un flujo 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 (herein referred to as a "block") containing audio (typically over a time period of 1024 or 960 samples) and related information and/or other data. Herein, the term "block" is used to denote a segment of an MPEG-4 AAC bitstream comprising audio data (and corresponding metadata and, optionally, also other related data) that determines or is indicative of one "raw_data_block" element (but not more than one).
Cada bloque de un flujo de bits MPEG-4 AAC puede incluir varios elementos sintácticos (cada uno de los cuales también se materializa en el flujo de bits como un segmento de datos). En el estándar 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". Los ejemplos de elementos sintácticos incluyen un "single_channeLelement()", un "channeLpair_element()" y un" filLelement()".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 of an MPEG-4 AAC bitstream can include several syntactic elements (each of which is also embodied in the bitstream as a data segment). Seven types of such syntactic elements are defined in the MPEG-4 AAC standard. Each syntax element is identified by a different value of the "id_syn_ele" data element. Examples of syntactic elements include a "single_channeLelement()", a "channeLpair_element()", and a "filLelement()". A single-channel element is a container that includes audio data from a single audio channel (a signal monophonic audio). A channel pair element includes audio data from two audio channels (that is, 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 denomina "datos de relleno". Los elementos de relleno se han usado históricamente para ajustar la tasa de bits instantánea de los flujos 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 above) followed by data, which is called "padding data." Padding elements have historically been used to adjust the instantaneous bitrate of bitstreams 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.
De acuerdo con las 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 un flujo de bits. Un decodificador que recibe flujos de bits con datos de relleno que contienen un nuevo tipo de datos puede ser usado opcionalmente por un dispositivo que recibe el flujo 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).In accordance with 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 A decoder that receives bitstreams with padding data containing a new type of data may optionally be used by a device that receives the bitstream (e.g., a decoder) to extend the functionality of the device. Therefore, as one skilled 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 (for example, audio payloads that contain channel data).
En algunas realizaciones de la invención, el identificador usado para identificar un elemento de relleno puede consistir en un 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 varias instancias 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 filler element may consist of a three-bit unsigned integer transmitted most significant bit first ("uimsbf") having a value of 0x6. In a block, multiple instances of the same type of syntactic element (for example, multiple filler elements) can occur.
Otro estándar para codificar flujos de bits de audio es el estándar de codificación de audio y voz unificado (USAC) MPEG (ISO/IEC 23003-3: 2012). El estándar USAC MPEG describe la codificación y decodificación de contenido de audio usando procesamiento de replicación de banda espectral (incluido el procesamiento SBR como se describe en el estándar 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 el presente documento "herramientas SBR mejoradas" o "herramientas eSBR") de una versión ampliada y mejorada del conjunto de herramientas SBR descritas en el estándar MPEG-4 AAC. Por lo tanto, eSBR (como se define en el estándar USAC) es una mejora de SBR (como se define en el estándar MPEG-4 AAC).Another standard for encoding audio bitstreams is the MPEG Unified Speech and Audio Coding (USAC) standard (ISO/IEC 23003-3:2012). The USAC MPEG standard describes the encoding and decoding of audio content using spectral band replication processing (including SBR processing as described in the 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 expanded and improved version of the set of SBR tools 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 el presente documento, se usa la expresión "procesamiento de SBR mejorada" (o "procesamiento eSBR") para denotar el procesamiento de replicación de banda espectral usando al menos una herramienta eSBR (por ejemplo, al menos una herramienta eSBR que se describe o menciona en el estándar USAC MPEG) que no se describe ni se menciona en el estándar MPEG-4 AAC. Ejemplos de tales herramientas eSBR son la transposición armónica y el preprocesamiento adicional de parcheo QMF o "preaplanamiento".Herein, the term "enhanced SBR processing" (or "eSBR processing") is used to denote spectral band replication processing using at least one eSBR tool (e.g., at least one eSBR tool described or mentioned in the USAC MPEG standard) that is not described or mentioned in the MPEG-4 AAC standard. Examples of such eSBR tools are harmonic transposition and additional QMF patching preprocessing or "pre-flattening".
Un transpondedor armónico de orden entero T mapea una sinusoide con frecuencia w en una sinusoide con frecuencia Tw, 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 rango de frecuencia de salida deseado usando el orden de transposición más pequeño posible. Si se requiere una salida por encima del rango de transposición de cuarto orden, puede generarse mediante cambios de frecuencia. Cuando es posible, se crean dominios 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 w to a sinusoid with frequency Tw, while preserving signal duration. Typically, three orders, T = 2, 3, 4 are used in sequence to produce each part of the desired output frequency range using the smallest possible transposition order. If output above the fourth order transposition range is required, it can be generated by frequency changes. When possible, quasi-critically sampled baseband time domains are created so that processing minimizes 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 tiempo del codificador central se lleva a cabo completamente en el dominio QMF, usando una estructura de codificador de voz de fase modificada, realizando decimación seguida de estiramiento de tiempo para cada subbanda 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 QMF. Dado que el transpondedor armónico basado en QMF no presenta sobremuestreo de dominio frecuencia adaptativo de señal, el indicador correspondiente en el flujo de bits (sbrOversamplingFlag [ch]) puede ignorarse.The harmonic transponder can be based on QMF or DFT. When the QMF-based harmonic transponder is used, the extension of the time domain signal bandwidth of the core encoder 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 transformation step. Since the QMF-based harmonic transponder does not feature signal adaptive frequency domain oversampling, 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 primero mediante el indicador de sobremuestreo en el dominio frecuencia adaptativa de la señal (sbrOversamplingFlag [ch]) en el flujo de bits.When the DFT-based harmonic transponder is used, 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 core encoder coreCoderFrameLength samples), the nominal "full-size" transponder transformation size is first determined by the signal's adaptive frequency-domain oversampling flag (sbrOversamplingFlag [ch]) in the bit stream.
Cuando sbrPatchingMode == 1, que indica que se va a usar la transposición lineal para generar la banda alta, se puede introducir un paso 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 preprocesamiento adicional es beneficioso para los tipos de señal en los que la envolvente espectral gruesa 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 flujo de bits puede determinarse en el codificador aplicando cualquier tipo de clasificación dependiente de la señal. El preprocesamiento adicional se activa preferiblemente a través de un elemento de flujo 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 preprocesamiento adicional está deshabilitado. El procesamiento adicional preferible utiliza una curva preGain que usa 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 step can be introduced to avoid discontinuities in the shape of the spectral envelope of the high frequency signal that is fed into the fitter rear envelope. This improves the performance of the next stage of envelope adjustment, resulting in a high-band signal that is perceived as more stable. The operation of additional preprocessing is beneficial for signal types where the thick spectral envelope of the low-band signal used for high-frequency reconstruction shows large level variations. However, the value of the bitstream element can be determined in the encoder by applying any type of signal-dependent classification. Additional preprocessing is preferably enabled via a one-bit bitstream element, bs_sbr_preprocessing. When bs_sbr_preprocessing is set to one, additional processing is enabled. When bs_sbr_preprocessing is set to zero, additional preprocessing is disabled. Preferred additional processing uses a preGain curve that uses the high frequency generator to scale the low band, XLow, for each patch. For example, the preGain curve can be calculated according to:
preGain(k) - io(meanNra~íowEnvSloPeW)/20io < k < k preGain ( k) - io ( meanNra~íowEnvSloPeW)/20io < k < k 0 0
donde ko es la primera subbanda 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 menos cuadrados), como polyfit(). Por ejemplo,where ko is the first QMF subband in the master frequency band table and lowEnvSlope is calculated using a function that calculates the coefficients of a best-fit polynomial (in a least-squares sense), such as polyfit(). For example,
puede emplearse (usando un polinomio de tercer grado) y dondecan be used (using a third degree polynomial) and where
donde x_lowband (k) = [0 ... k0-1], numTimeSlot es el número de intervalos de tiempo de la envolvente SBR que existen dentro de una trama, RATe es una constante que indica el número de muestras de subbanda QMF por intervalo de tiempo (por ejemplo, 2), ^k es un coeficiente de filtro de predicción lineal (potencialmente obtenido del método de covarianza) y dondewhere 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 slot of time (e.g. 2), ^k is a linear prediction filter coefficient (potentially obtained from the covariance method) and where
Un flujo de bits generado de acuerdo con el estándar USAC MPEG (a veces denominado en el presente documento como un "flujo 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 aplicará un decodificador para decodificar el contenido de audio del flujo 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 SBR y/o herramienta eSBR que se empleará para decodificar el contenido de audio del flujo de bits USAC.A bitstream generated in accordance with the USAC MPEG 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 that apply 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 which will be used to decode the audio content of the USAC bitstream.
En el presente documento, se usa la expresión "metadatos de SBR mejorada" (o "metadatos eSBR") para denotar los metadatos indicativos de cada tipo de procesamiento de replicación de banda espectral que aplicará un decodificador para decodificar el contenido de audio de un flujo de bits de audio codificado (por ejemplo, un flujo de datos 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 SBR y/o herramienta eSBR que se empleará para decodificar tal contenido de audio, pero que no se describe o menciona en el estándar MPEG-4 AAC. Un ejemplo de metadatos eSBR son los metadatos (indicativos de, o para controlar, el procesamiento de replicación de banda espectral) que se describen o mencionan en el estándar USAC MPEG pero no en el estándar MPEG-4 AAC. Por lo tanto, los metadatos eSBR denotan en el presente documento metadatos que no son metadatos SBR, y los metadatos SBR denotan en el presente documento metadatos que no son metadatos eSBR.The term “enhanced SBR metadata” (or “eSBR metadata”) is used herein to denote metadata indicative of each type of spectral band replication processing that a decoder will apply to decode the audio content of a stream. of encoded audio bits (e.g., a USAC data stream) and/or 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 tool eSBR that will be used to decode such audio content, but is not described or mentioned in the MPEG-4 AAC standard. An example of eSBR metadata is metadata (indicative of, or to control, spectral band replication processing) that is described or mentioned in the USAC MPEG standard but not in the MPEG-4 AAC standard. Therefore, eSBR metadata herein denotes metadata that is not SBR metadata, and SBR metadata herein denotes metadata that is not eSBR metadata.
Un flujo de bits USAC puede incluir tanto metadatos SBR como metadatos eSBR. Más específicamente, un flujo de bits USAC puede incluir metadatos eSBR que controlan el rendimiento del procesamiento de eSBR por un decodificador, y metadatos SBR que controlan el rendimiento del procesamiento de SBR por el decodificador. De acuerdo con las realizaciones típicas de la presente invención, los metadatos eSBR (por ejemplo, datos de configuración específicos de eSBR) se incluyen (de acuerdo con la presente invención) en un flujo de bits MPEG-4 AAC (por ejemplo, en el contenedor sbr_extension() al final de una carga útil SBR).A USAC bitstream can 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 included (in accordance with the present invention) in an MPEG-4 AAC bitstream (e.g., in the sbr_extension() container at the end of an SBR payload).
El rendimiento del procesamiento eSBR, durante la decodificación de un flujo de bits codificado usando un conjunto de herramientas eSBR (que comprende al menos una herramienta 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 agrega componentes de ruido y sinusoidales para recrear las características espectrales de la señal de audio original.The performance of eSBR processing, 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 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, adding noise and sinusoidal components to recreate the spectral characteristics of the original audio signal.
De acuerdo con las realizaciones típicas de la invención, se incluyen metadatos eSBR (por ejemplo, se incluye una pequeña cantidad de bits de control que son metadatos eSBR) en uno o más de los segmentos de metadatos de un flujo de bits de audio codificado (por ejemplo, un flujo 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 del flujo de bits es (o incluye) un elemento de relleno (incluido un identificador que indica el inicio del elemento de relleno), y los metadatos eSBR se incluyen en el elemento de relleno después del identificador.According to typical embodiments of the invention, eSBR metadata is included (for example, a small number of control bits that are eSBR metadata are included) in one or more of the metadata segments of an encoded audio bitstream ( for example, 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 of 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. padding after the identifier.
La figura 1 es un diagrama de bloques de una cadena de procesamiento de audio de ejemplo (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 como se muestra: codificador 1, subsistema 2 de entrega, decodificador 3 y unidad 4 de posprocesamiento. 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 example 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 as shown: encoder 1, delivery subsystem 2, decoder 3, and post-processing unit 4. In variations of the system shown, one or more of the elements are omitted, or additional audio data processing units are included.
En algunas implementaciones, el codificador 1 (que opcionalmente incluye una unidad de preprocesamiento) está configurado para aceptar muestras PCM (dominio tiempo) que comprenden contenido de audio como entrada, y para emitir un flujo de bits de audio codificado (que tiene un formato compatible con el estándar MPEG-4 AAC) que es indicativo del contenido de audio. Los datos del flujo de bits que son indicativos del contenido de audio se denominan a veces en el presente documento "datos de audio" o "datos de audio codificados". Si el codificador está configurado de acuerdo con una realización típica de la presente invención, la salida de flujo de bits de audio del codificador incluye metadatos eSBR (y típicamente también otros metadatos) así como datos de audio.In some implementations, the encoder 1 (which optionally includes a preprocessing unit) is configured to accept PCM (time domain) samples comprising audio content as input, and to output an encoded audio bitstream (having a format compatible with the MPEG-4 AAC standard) which is indicative of the audio content. Bitstream data that is indicative of 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 of the encoder includes eSBR metadata (and typically other metadata as well) as well as audio data.
Uno o más flujos de bits de audio codificados emitidos 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 flujo de bits codificado desde el codificador 1. Una salida de flujo de bits de audio codificado 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 tanto almacenarse como transmitirse por el subsistema 2.One or more encoded audio bitstreams output from encoder 1 may be acknowledged to encoded audio delivery subsystem 2. Subsystem 2 is configured to store and/or deliver each encoded bitstream output from encoder 1. An encoded audio bitstream output from encoder 1 may be stored by subsystem 2 (e.g., in the form of a DVD or Blu ray disc), or transmitted by subsystem 2 (which may implement a transmission link or network), or may be both stored and transmitted by subsystem 2.
El decodificador 3 está configurado para decodificar un flujo de bits de audio MPEG-4 AAC codificado (generado por el codificador 1) que recibe a través del subsistema 2. En algunas realizaciones, el decodificador 3 está configurado para extraer metadatos eSBR de cada bloque del flujo de bits y decodificar el flujo de bits (incluso realizando el procesamiento de eSBR usando los metadatos eSBR extraídos) para generar datos de audio decodificados (por ejemplo, flujos de muestras de audio PCM decodificadas). En algunas realizaciones, el decodificador 3 está configurado para extraer metadatos SBR del flujo de bits (pero para ignorar los metadatos eSBR incluidos en el flujo de bits) y para decodificar el flujo de bits (incluso realizando el procesamiento SBR usando los metadatos SBR extraídos) para generar datos de audio decodificados (por ejemplo, flujos de muestras de audio PCM decodificadas). Típicamente, el decodificador 3 incluye un búfer que almacena (por ejemplo, de manera no transitoria) segmentos del flujo de bits de audio codificado recibido del subsistema 2.Decoder 3 is configured to decode an encoded MPEG-4 AAC audio bitstream (generated by encoder 1) that it receives through subsystem 2. In some embodiments, 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., streams of decoded PCM audio samples). 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 (for example, streams of decoded PCM audio samples). Typically, decoder 3 includes a buffer that stores (e.g., non-transitory) segments of the encoded audio bitstream received from subsystem 2.
La unidad 4 de posprocesamiento de la figura 1 está configurada para aceptar un flujo de datos de audio decodificados del decodificador 3 (por ejemplo, muestras de audio PCM decodificadas) y para realizar el posprocesamiento en el mismo. La unidad de posprocesamiento también puede configurarse para reproducir el contenido de audio posprocesado (o el audio decodificado recibido del decodificador 3) para su reproducción por uno o más altavoces.The post-processing unit 4 of Figure 1 is configured to accept a stream of decoded audio data from the decoder 3 (for example, decoded PCM audio samples) and to perform post-processing thereon. The post-processing unit may also be configured to play the post-processed audio content (or the decoded audio received from the decoder 3) for playback by 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 rellenador/formateador, la etapa 106 de generación de metadatos y la memoria 109 de búfer, 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 un flujo de bits de audio de entrada en un flujo de bits de salida codificado MPEG-4 AAC.Figure 2 is a block diagram of an encoder 100 which is an embodiment of the audio processing unit of the invention. Any of the components or elements of the encoder 100 may be implemented as one or more processes and/or one or more circuits (e.g., ASIC, FPGA, or other integrated circuits), in hardware, software, or a combination of hardware and software. The encoder 100 includes the encoder 105, the filler/formatter stage 107, the metadata generation stage 106, and the buffer memory 109, connected as shown. Also typically, encoder 100 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 pasar a la etapa 107) metadatos (incluidos metadatos eSBR y metadatos SBR) que se incluirán en la etapa 107 en el flujo de bits codificado que se emitirá desde el codificador 100.The metadata generator 106 is coupled and configured to generate (and/or pass to step 107) metadata (including eSBR metadata and SBR metadata) to be included in step 107 in the encoded bitstream 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 el flujo de bits codificado que se emitirá desde la etapa 107.The encoder 105 is coupled and configured to encode (e.g., 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 the stage 107.
La etapa 107 está configurada para multiplexar el audio codificado del codificador 105 y los metadatos (incluidos los metadatos eSBR y los metadatos SBR) del generador 106 para generar el flujo de bits codificado que se emitirá desde la etapa 107, preferiblemente para que el flujo de bits codificado tenga el formato especificado por una de las realizaciones de la presente invención.Step 107 is configured to multiplex the encoded audio from encoder 105 and metadata (including eSBR metadata and SBR metadata) from generator 106 to generate the encoded bit stream to be output from step 107, preferably so that the encoded bit stream will be output from step 107. encoded bits have the format specified by one of the embodiments of the present invention.
La memoria 109 de búfer está configurada para almacenar (por ejemplo, de manera no transitoria) al menos un bloque de la salida del flujo de bits de audio codificado de la etapa 107, y una secuencia de los bloques del flujo de bits de audio codificado se confirma desde la memoria 109 de búfer como salida del codificador 100 a un sistema de entrega.The buffer memory 109 is configured to store (e.g., non-transitory) at least one block of the output of the encoded audio bitstream of step 107, and a sequence of the blocks of the encoded audio bitstream. is committed from buffer memory 109 as output from 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 posprocesador 300 acoplado a la misma. Cualquiera de los componentes o elementos del decodificador 200 y posprocesador 300 puede implementarse como uno o más procesos y/o uno o más circuitos (por ejemplo, ASIC, FPGA u otros circuitos integrados), en hardware, software o una combinación de hardware y software. El decodificador 200 comprende memoria 201 de búfer, desformateador (analizador) 205 de carga útil de flujo 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 that includes a decoder 200 that is an embodiment of the audio processing unit of the invention and, optionally, also a postprocessor 300 coupled thereto. Any of the components or elements of the decoder 200 and postprocessor 300 may be implemented as one or more processes and/or one or more circuits (e.g., ASIC, FPGA, or other circuits). integrated), in hardware, software or a combination of hardware and software. The decoder 200 comprises buffer memory 201, bitstream payload deformatter (parser) 205, audio decoding subsystem 202 (sometimes referred to as the "core" decoding stage or "core" decoding subsystem), eSBR processing and control bit generation step 204, connected as shown. Also typically, decoder 200 includes other processing elements (not shown).
La memoria 201 de búfer (búfer) almacena (por ejemplo, de manera no transitoria) al menos un bloque de un flujo de bits de audio MPEG-4 AAC codificado recibido por el decodificador 200. En el funcionamiento del decodificador 200, se confirma una secuencia de los bloques del flujo de bits desde el búfer 201 al desformateador 205.The buffer memory (buffer) 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 buffer 201 to deformatter 205.
En variaciones de la realización de la figura 3 (o la realización de la figura 4 que se describirá), una APU que no es un decodificador (por ejemplo, APU 500 de la figura 6) incluye una memoria de búfer (por ejemplo, una memoria de búfer idéntica al búfer 201) que almacena (por ejemplo, de manera no transitoria) al menos un bloque de un flujo de bits de audio codificado (por ejemplo, un flujo de bits de audio MPEG-4 AAC) del mismo tipo recibido por el búfer 201 de la figura 3 o la figura 4 (es decir, un flujo de bits de audio codificado que incluye metadatos eSBR).In variations of the embodiment of Figure 3 (or the embodiment of Figure 4 to be described), an APU that is not a decoder (e.g., APU 500 of Figure 6) includes a buffer memory (e.g., a buffer memory 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 received type by the buffer 201 of Figure 3 or Figure 4 (i.e., an encoded audio bitstream that includes eSBR metadata).
Con referencia nuevamente a la figura 3, el desformateador 205 está acoplado y configurado para demultiplexar cada bloque del flujo de bits para extraer metadatos SBR (incluidos datos de envolvente cuantificados) y metadatos eSBR (y típicamente también otros metadatos) de los mismos, para confirmar al menos los metadatos eSBR y los metadatos 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 del flujo 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 also other metadata) therefrom, to confirm at least the eSBR metadata and the SBR metadata to the eSBR processing step 203, and typically also to confirm 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 step).
El sistema de la figura 3 opcionalmente también incluye el posprocesador 300. El posprocesador 300 incluye una memoria 301 de búfer (búfer) y otros elementos de procesamiento (no mostrados) que incluyen al menos un elemento de procesamiento acoplado al búfer 301. El búfer 301 almacena (por ejemplo, de manera no transitoria) al menos un bloque (o trama) de los datos de audio decodificados recibidos por el posprocesador 300 desde el decodificador 200. Los elementos de procesamiento del posprocesador 300 están acoplados y configurados para recibir y procesar de manera adaptativa una secuencia de los bloques (o tramas) de la salida de audio decodificada del búfer 301, usando 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 postprocessor 300. The postprocessor 300 includes a buffer memory (buffer) 301 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 postprocessor 300 from the decoder 200. The processing elements of the postprocessor 300 are coupled and configured to receive and process adaptively a sequence of the blocks (or frames) of the decoded audio output of the buffer 301, using the metadata output of the decoding subsystem 202 (and/or deformatter 205) and/or control bits output from step 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 eSBR. La decodificación se realiza en el dominio 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 frecuencia a dominio tiempo a los datos de audio de dominio frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio tiempo. La etapa 203 está configurada para aplicar herramientas SBR y herramientas eSBR indicadas por los metadatos eSBR y la eSBR (extraída por el analizador 205) a los datos de audio decodificados (es decir, para realizar el procesamiento SBR y eSBR en la salida del subsistema 202 de decodificación usando los metadatos SBR y eSBR) para generar los datos de audio completamente decodificados que se envían (por ejemplo, al posprocesador 300) desde el decodificador 200. Típicamente, el decodificador 200 incluye una memoria (accesible por el subsistema 202 y la etapa 203) que almacena los datos de audio 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 SBR y los metadatos eSBR) como necesario durante el procesamiento de SBR y eSBR. Se puede considerar que el procesamiento SBR y el procesamiento de eSBR en la etapa 203 son posprocesamiento 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 el estándar 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 posprocesador 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 confirm the decoded audio data in eSBR processing step 203. Decoding is performed in the frequency domain and typically includes inverse quantization followed by spectral processing. Typically, a final processing step in subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data, so 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 metadata and the eSBR (extracted by the analyzer 205) to the decoded audio data (i.e., to perform SBR and eSBR processing on the output of the subsystem 202). decoding process using the SBR and eSBR metadata) to generate the fully decoded audio data that is sent (e.g., to the post processor 300) from the decoder 200. Typically, the decoder 200 includes a memory (accessible by the subsystem 202 and the step 203) which stores the unformatted audio data and metadata output from the deformatter 205, and step 203 is configured to access the audio data and metadata (including SBR metadata and eSBR metadata) as necessary during SBR processing and eSBR. The SBR processing and eSBR processing in step 203 can be considered to be post-processing at the output of the central 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) which is coupled and configured to perform an upmix at the output of step 203 to generate fully decoded upmix audio that is output from the decoder 200. Alternatively, the postprocessor 300 is configured to perform an upmix at 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 posprocesador 300 para su uso en posprocesamiento). En respuesta a los metadatos extraídos del flujo de bits de entrada (y opcionalmente también en respuesta a los datos de control), la etapa 204 puede generar (y confirmar al posprocesador 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 posprocesamiento. En algunas implementaciones, el decodificador 200 está configurado para confirmar metadatos extraídos por el desformateador 205 del flujo de bits de entrada al posprocesador 300, y el posprocesador 300 está configurado para realizar posprocesamiento 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 confirmed as output of decoder 200 (e.g., to postprocessor 300 for use in post-processing). In response to metadata extracted from the input bitstream (and optionally also in response to control data), step 204 may generate (and confirm to postprocessor 300) control bits indicating that the decoded audio data output of eSBR processing step 203 must undergo a specific type of post-processing. In some implementations, decoder 200 is configured to commit metadata extracted by deformatter 205 from the bitstream. input to the postprocessor 300, and the postprocessor 300 is configured to perform postprocessing on the output of decoded audio data from the decoder 200 using the metadata.
La figura 4 es un diagrama de bloques de una unidad 210 de procesamiento de audio ("APU") que es otra realización de la unidad 210 de procesamiento de audio APU de la invención es un decodificador heredado que no está configurado para realizar procesamiento 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 201 de búfer, desformateador 215 de carga útil de flujo 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 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 APU audio processing unit 210 of the invention is a legacy decoder that is not configured to perform eSBR processing. Any of the components or elements of APU 210 may be implemented as one or more processes and/or one or more circuits (e.g., ASIC, FPGA, or other integrated circuits), in hardware, software, or a combination of hardware and software. The APU 210 comprises buffer memory 201, bitstream payload deformatter (parser) 215, audio decoding subsystem 202 (sometimes referred to as the "core" decoding stage or "core" decoding subsystem), and SBR processing, connected as shown. Also typically, APU 210 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 un flujo de bits de audio codificado (un flujo de bits MPEG-4 AAC) recibido por la APU 210 se confirma desde el búfer 201 al desformateador 215.The elements 201 and 202 of the APU 210 are identical to the identically numbered elements of the decoder 200 (of Figure 3) and the previous description of them will not be repeated. In operation of the APU 210, a sequence of blocks of an encoded audio bitstream (an MPEG-4 AAC bitstream) received by the APU 210 is committed from the buffer 201 to the deformatter 215.
El desformateador 215 se acopla y se configura para demultiplexar cada bloque del flujo de bits para extraer metadatos SBR (incluidos los datos de envolvente cuantificados) y típicamente también otros metadatos de los mismos, pero para ignorar los metadatos eSBR que pueden incluirse en el flujo de bits de acuerdo con 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 del flujo 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 also other metadata thereof, but to ignore eSBR metadata that may be included in the bitstream. bits according to 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 to 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 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 SBR. La decodificación se realiza en el dominio frecuencia. Típicamente, una etapa final de procesamiento en el subsistema 202 aplica una transformación de dominio frecuencia a dominio tiempo a los datos de audio de dominio frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio tiempo. La etapa 213 está configurada para aplicar herramientas SBR (pero no herramientas eSBR) indicadas por los metadatos SBR (extraídos por el desformateador 215) a los datos de audio decodificados (es decir, para realizar el procesamiento SBR en la salida del subsistema 202 de decodificación usando los metadatos SBR) para generar los datos de audio totalmente decodificados que se envían (por ejemplo, al posprocesador 300) desde la APU 210. Típicamente, la APU 210 incluye una memoria (accesible por el subsistema 202 y la etapa 213) que almacena los datos de audio 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 SBR) según sea necesario durante el procesamiento SBR. Se puede considerar que el procesamiento SBR en la etapa 213 es un posprocesamiento 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 el estándar 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 posprocesador 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 confirm the decoded audio data in SBR processing step 213. Decoding is performed in the frequency domain. Typically, a final processing step in subsystem 202 applies a frequency domain to time domain transformation to the decoded frequency domain audio data, so 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 the deformatter 215) to the decoded audio data (i.e., to perform SBR processing on the output of the decoding subsystem 202). using the SBR metadata) to generate the fully decoded audio data that is sent (e.g., to the post processor 300) from the APU 210. Typically, the APU 210 includes a memory (accessible by subsystem 202 and stage 213) that stores the deformatted audio data and metadata output from the deformatter 215, and step 213 is configured to access the audio data and metadata (including SBR metadata) as needed during SBR processing. The SBR processing in step 213 can be considered to be post-processing at the output of the central decoding subsystem 202. Optionally, the APU 210 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 perform upmix at the output of step 213 to generate upmixed, fully decoded audio that is output from the APU 210. Alternatively, a postprocessor is configured to perform an upmix at the output of the APU 210 (e.g., using metadata PS extracted by the deformatter 215 and/or control bits generated in the APU 210).
Varias implementaciones del codificador 100, el decodificador 200 y la APU 210 están configuradas para realizar diferentes realizaciones del método de la invención.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.
De acuerdo con algunas realizaciones, se incluyen metadatos eSBR (por ejemplo, se incluye una pequeña cantidad de bits de control que son metadatos eSBR) en un flujo de bits de audio codificado (por ejemplo, un flujo de bits MPEG-4 AAC), de modo que los decodificadores heredados (que no son configurado para analizar los metadatos eSBR, o para usar cualquier herramienta eSBR a la que pertenezcan los metadatos eSBR) puede ignorar los metadatos eSBR pero, sin embargo, decodificar el flujo de bits en la medida de lo posible sin usar los metadatos eSBR o cualquier herramienta eSBR a la que pertenezcan los metadatos eSBR, típicamente sin ninguna penalización significativa en la calidad del audio decodificado. Sin embargo, los decodificadores eSBR configurados para analizar el flujo de bits para identificar los metadatos eSBR y para usar al menos una herramienta eSBR en respuesta a los metadatos eSBR, disfrutarán de los beneficios de usar al menos una de tales herramientas 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 number of control bits that are eSBR metadata are included) in an encoded audio bitstream (e.g., an MPEG-4 AAC bitstream), so that legacy decoders (that are not configured to parse the eSBR metadata, or to use any eSBR tool to which the eSBR metadata belongs) can ignore the eSBR metadata but nevertheless decode the bitstream to the extent as possible without using the eSBR metadata or any eSBR tool to which the eSBR metadata belongs, typically without any significant penalty in the quality of the decoded audio. However, eSBR decoders configured to analyze the bitstream to identify the 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 to efficiently transmit enhanced spectral band replication (eSBR) control data or metadata in a backward-compatible manner.
Típicamente, los metadatos eSBR en el flujo de bits son indicativos de (por ejemplo, son indicativos de al menos una característica o parámetro de) una o más de las siguientes herramientas eSBR (que se describen en el estándar USAC MPEG, y que pueden o no haber sido aplicados por un codificador durante la generación del flujo de bits): - transposición armónica; yTypically, the eSBR metadata in the bitstream is indicative of (for example, 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 not having been applied by an encoder during the generation of the bitstream): - harmonic transposition; and
- preprocesamiento adicional de parcheo QMF (preaplanamiento).- additional QMF patching preprocessing (pre-flattening).
Por ejemplo, los metadatos eSBR incluidos en el flujo de bits pueden ser indicativos de los valores de los parámetros (descritos en el estándar USAC MPEG y en la presente divulgación): sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch] y bs_sbr_preprocessing.For example, the eSBR metadata included in the bitstream may be indicative of parameter values (described in the USAC MPEG standard and in the present disclosure): 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 un flujo de bits codificado 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. En el presente documento, la notación X[ch][env], donde X es algún parámetro, denota que el parámetro pertenece a la envolvente SBR ("env") del canal ("ch") del contenido de audio de un flujo de bits codificado que se va a decodificar. Para simplificar, a veces omitimos las expresiones [env] y [ch], y asumimos que el parámetro relevante pertenece a una envolvente SBR de un canal de contenido de audio.Herein, 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 [ch] expression and assume that the relevant parameter belongs to an audio content channel. In this document, the notation X[ch][env], where encoded bits to be decoded. For simplicity, we sometimes omit the expressions [env] and [ch], and assume that the relevant parameter belongs to an SBR envelope of an audio content channel.
Durante la decodificación de un flujo de bits codificado, 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 el flujo 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 harmonic transposition performance during an eSBR processing step of the decoding (for each channel, "ch", of the audio content indicated by the bitstream) is controlled by the following eSBR metadata parameters: sbrPatchingMode[ch]: sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; and sbrPitchInBins[ch].
El valor "sbrPatchingMode[ch]" indica el tipo de transpondedor usado en eSBR: sbrPatchingMode[ch] = 1 indica el parcheo de transposición lineal como se describe en la sección 4.6.18 del estándar MPEG-4 AAC (como se usa con SBR de alta calidad o SBR de baja potencia); sbrPatchingMode[ch] = 0 indica el parcheo armónico SBR como se describe en la sección 7.5.3 o 7.5.4 del estándar USAC MPEG.The value "sbrPatchingMode[ch]" indicates the type of transponder used in eSBR: sbrPatchingMode[ch] = 1 indicates linear transposition patching as described in section 4.6.18 of the MPEG-4 AAC standard (as used with SBR high quality 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 frecuencia adaptativo de señal en eSBR en combinación con el parcheo SBR armónico basado en DFT como se describe en la sección 7.5.3 del estándar USAC MPEG. Este indicador controla el tamaño de las DFT que se utilizan en el transpondedor: 1 indica sobremuestreo de dominio frecuencia adaptativo de señal habilitado como se describe en la sección 7.5.3.1 del estándar USAC MPEG; 0 indica que el sobremuestreo del dominio frecuencia adaptativo de la señal está desactivado, como se describe en la sección 7.5.3.1 del estándar USAC MPEG.The value "sbrOversamplingFlag[ch]" indicates the use of signal adaptive frequency domain oversampling in eSBR in combination with DFT-based harmonic SBR patching as described in section 7.5.3 of the USAC MPEG standard. This flag controls the size of the DFTs used in the transponder: 1 indicates signal adaptive frequency domain oversampling enabled as described in section 7.5.3.1 of the USAC MPEG standard; 0 indicates that adaptive frequency domain oversampling of the signal 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] se establece en cero. El valor "sbrPitchInBins[ch]" controla la adición de términos de productos cruzados en el transpondedor armónico SBR. El valor sbrPitchinBins[ch] es un valor entero en el rango [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 value "sbrPitchlnBinsFlag[ch]" 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. The value "sbrPitchInBins[ch]" controls the addition of cross-product terms in the SBR harmonic transponder. The sbrPitchinBins[ch] value is an integer value in the range [0.127] and represents the distance measured in frequency bins for a 1536-line DFT acting on the core encoder sampling rate.
En el caso de que un flujo de bits MPEG-4 AAC sea indicativo de un par de canales SBR cuyos canales no están acoplados (en lugar de un solo canal SBR), el flujo de bits es indicativo de dos instancias de la sintaxis anterior (para transposición armónica o no armónica), uno para cada canal del sbr_channeLpair_element().In the case where an MPEG-4 AAC bitstream is indicative of a pair of SBR channels whose channels are not coupled (rather than a single SBR channel), the bitstream is indicative of two instances of the above syntax ( for harmonic or non-harmonic transposition), one for each channel of the sbr_channeLpair_element().
La transposición armónica de la herramienta 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 parcheo 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 parcheo espectral en el contenido de velocidad.The eSBR tool's harmonic transposition typically improves the quality of decoded music signals at relatively low crossover frequencies. Nonharmonic transposition (i.e., inherited spectral patching) typically enhances 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 depending on the voice/music detection with harmonic transposition employed in the musical content and the spectral patching. in speed content.
El rendimiento del preaplanamiento durante el procesamiento de eSBR se controla mediante el valor de un parámetro de metadatos eSBR de un bit conocido como "bs_sbr_preprocessing", en el sentido de que el preaplanamiento se realiza o no dependiendo del valor de este bit único. Cuando se usa el algoritmo de parcheo QMF de SBR, como se describe en la sección 4.6.18.6.3 del estándar MPEG-4 AAC, se puede realizar el paso de preaplanamiento (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 eSBR). El preaplanamiento 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", in the sense that pre-flattening is performed or not depending on the value of this single bit. When using the SBR QMF patching algorithm, as described in section 4.6.18.6.3 of the MPEG-4 AAC standard, the pre-flattening step can be performed (when indicated by the "bs_sbr_preprocessing" parameter) in an effort to avoid discontinuities in the shape of the spectral envelope of a high-frequency signal that is input to 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 eSBR de un flujo de bits MPEG-4 AAC indicativos de las herramientas eSBR mencionadas anteriormente (transposición armónica y preaplanamiento) 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 eSBR es insignificante, por varias razones, incluidas las siguientes:The overall bit rate requirement for including in the eSBR metadata of an MPEG-4 AAC bitstream indicative of the eSBR tools mentioned above (harmonic transposition and pre-flattening) is expected to be on the order of a few hundred bits per second because only differential control data necessary to perform eSBR processing is transmitted in accordance with some embodiments of the invention. Legacy decoders may ignore this information because it is included in a backwards-compatible manner (as will be explained later). Therefore, the detrimental effect on bitrate associated with the inclusion of 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 bitrate penalty (due to including eSBR metadata) is a very small fraction of the total bitrate because only the differential control data necessary 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 describen más adelante en esta solicitud.- the setting of SBR-related control information does not typically depend on the details of the transposition. Examples of when control data depends on transponder operation are described later in this application.
Por 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. Esta transmisión eficiente de los datos de control 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 de acuerdo con 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 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 to efficiently transmit 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 the bit rate. Furthermore, the complexity and processing requirements associated with performing eSBR according to embodiments of the invention are also reduced because the SBR data must be processed only once and not broadcast simultaneously, which would be the case if eSBR were processed 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, describimos elementos de un bloque ("raw_data_block") de un flujo de bits MPEG-4 AAC donde se incluyen metadatos eSBR de acuerdo con algunas realizaciones de la presente invención. La figura 7 es un diagrama de un bloque (un "raw_data_block") del flujo de bits MPEG-4 aAc , que muestra algunos de sus segmentos.Next, with reference to Figure 7, we describe elements of a block ("raw_data_block") of an MPEG-4 AAC bitstream where eSBR metadata is included in accordance with some embodiments of the present invention. Figure 7 is a diagram of a block (a "raw_data_block") of the MPEG-4 aAc bitstream, showing some of its segments.
Un bloque de un flujo 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 "filLelements" (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 elemento de par de canales 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()" (for example, 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 from an audio program. The block may also include a series of "filLelements" (e.g., filler element 1 and/or filler element 2 of Figure 7) that include data (e.g., metadata) related to the program. Each "single_channel_element()" includes an identifier (e.g., "ID1" of Figure 7) that indicates the start of a single channel element, and may include audio data indicative of a different channel of a multichannel audio program. Each channel pair element includes an identifier (not shown in Figure 7) that indicates the start of a channel pair element, and may include audio data indicative of two channels of the program.
Un fill_element (denominado en el presente documento elemento de relleno) de un flujo 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 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 el presente documento como una carga útil de extensión) cuya sintaxis se muestra en la tabla 4.57 del estándar MPEG-4 AAC. Existen varios tipos de cargas útiles de extensión y se identifican mediante el parámetro "extension_type", que es un entero sin signo de cuatro bits que se transmite primero con el bit más significativo ("uimsbf").A fill_element (referred to herein as a fill element) of an MPEG-4 AAC bitstream includes an identifier ("ID2" of Figure 7) indicating the start of a fill element and fill data after the identifier. The ID2 identifier may consist of a three-bit unsigned integer transmitted most significant bit first ("uimsbf") that has a value of 0x6. 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. There are several types of extension payloads and they are identified by the "extension_type" parameter, which is a four-bit unsigned integer transmitted most significant bit first ("uimsbf").
Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) pueden incluir un encabezado o identificador (por ejemplo, "encabezadol" de la figura 7) que indica un segmento de datos de relleno que es indicativo de un objeto SBR (es decir, el encabezado inicializa un tipo "de objeto SBR", denominado sbr_extension_data() en el estándar 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, con el identificador '1101' que identifica una carga útil de extensión con datos SBR y '1110' que identifica una carga útil de extensión con datos SBR con una verificación de redundancia cíclica (CRC) para verificar la exactitud de los datos SBR.The padding data (e.g., an extension payload thereof) may include a header or identifier (e.g., "header" of Figure 7) that indicates a segment of padding data that is indicative of an SBR object. (i.e. the header initializes an "SBR object" type, called sbr_extension_data() in the MPEG-4 AAC standard). For example, a Spectral Band Replication (SBR) extension payload is identified by the value of '1101' or '1110' for the extension_type field in the header, with the identifier '1101' identifying an extension payload. with SBR data and '1110' which identifies an extension payload with SBR data with a cyclic redundancy check (CRC) to verify the accuracy of the SBR data.
Cuando el encabezado (por ejemplo, el campo extension_type) inicializa un tipo de objeto SBR, los metadatos SBR (a veces denominados en el presente documento "datos de replicación de banda espectral" y denominados sbr_data() en el estándar 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 SBR. Tal elemento de extensión de replicación de banda espectral (un segmento del flujo de bits) se denomina contenedor "sbr_extension()" en el estándar MPEG-4 AAC. Un elemento de extensión de replicación de banda espectral incluye opcionalmente un encabezado (por ejemplo, "encabezado de extensión SBR" del elemento 1 de relleno de la figura 7).When the header (for example, the extension_type field) initializes an SBR object type, the SBR metadata (sometimes referred to herein as "spectral band replication data" and called sbr_data() in the MPEG-4 AAC standard) follow the header, and at least one spectral band replication extension element (for example, the "SBR extension element" of filler element 1 of Figure 7) may follow the SBR metadata. Such a spectral band replication extension element (a segment of the bitstream) is called a "sbr_extension()" container in the MPEG-4 AAC standard. An extension element Spectral band replication optionally includes a header (e.g., "SBR extension header" of filler element 1 of Figure 7).
El estándar 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. El estándar 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 SBR (al igual que "encabezado1" 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 contemplates 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 the header of a filler element (for example, an extension payload thereof) initializes an SBR object type (such as "header1" in Figure 7) and an element The spectral band replication extension payload of the padding element includes PS data, the padding element (for example, the extension payload thereof) includes spectral band replication data and a parameter "bs_extension_id" whose value (i.e. bs_extension_id = 2) indicates that PS data is included in a filler element spectral band replication extension element.
De acuerdo con algunas realizaciones de la presente invención, los metadatos eSBR (por ejemplo, un indicador indicativo de si el procesamiento de replicación de banda espectral mejorada (eSBR) se 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 se indica en el elemento 1 de relleno de la figura 7, donde el indicador aparece después del encabezado (el "encabezado de extensión SBR" del elemento 1 de relleno) del "elemento de extensión SBR" del elemento 1 de relleno. Opcionalmente, tal indicador y metadatos 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 SBR del elemento 1 de relleno en la figura 7, después del encabezado de extensión SBR). De acuerdo con algunas realizaciones de la presente invención, un elemento de relleno que incluye metadatos eSBR también incluye un parámetro "bs_extension_id" cuyo valor (por ejemplo, bs_extension_id = 3) indica que los metadatos 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.In accordance with some embodiments of the present invention, eSBR metadata (e.g., an indicator indicative of whether enhanced spectral band replication (eSBR) processing will be performed on the audio content of the block) is included in an extension element. of spectral band replication of a filler element. For example, such an indicator is indicated in filler element 1 of Figure 7, where the indicator appears after the header (the "SBR extension header" of filler element 1) of the "SBR extension element" of element 1 of stuffed. 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 (for example, in the SBR extension element of filler element 1 in Figure 7, after the SBR extension header). According to some embodiments of the present invention, a padding element that includes eSBR metadata also includes a parameter "bs_extension_id" whose value (e.g., bs_extension_id = 3) indicates that the eSBR metadata is included in the padding element and that the eSBR processing must be performed on the audio content of the relevant block.
De acuerdo con algunas realizaciones de la invención, los metadatos eSBR se incluyen en un elemento de relleno (por ejemplo, el elemento 2 de relleno de la figura 7) de un flujo 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 SBR o datos 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 el presente documento como una carga útil de extensión) cuya sintaxis se muestra en la tabla 4.57 del estándar MPEG-4 AAC. Los datos de relleno (por ejemplo, una carga útil de extensión de los mismos) incluyen un encabezado (por ejemplo, "encabezado2" del elemento 2 de relleno de la figura 7) que es indicativo de un objeto 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 eSBR después del encabezado. Por ejemplo, el elemento 2 de relleno de la figura 7 incluye dicho encabezado ("encabezado2") y también incluye, después del encabezado, metadatos eSBR (es decir, el "indicador" 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 eSBR adicionales en los datos de relleno del elemento 2 de relleno de la figura 7, después del encabezado2. En las realizaciones que se describen en el presente párrafo, el encabezado (por ejemplo, encabezado2 de la figura 7) tiene un valor de identificación que no es uno de los valores convencionales especificados en la tabla 4.57 del estándar MPEG-4 AAC, y en cambio es indicativo de una carga útil de extensión eSBR (de modo que el campo extension_type del encabezado indique que los datos de relleno incluyen metadatos eSBR).According to some embodiments of the invention, the eSBR metadata is included in a padding element (for example, padding element 2 of Figure 7) of an MPEG-4 AAC bitstream that is not a bit extension element. spectral band replication (SBR extension element) of the filler element. This is because filler elements that contain an extension_payload() with SBR data or SBR data with a CRC do not contain any other extension payloads 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" of Figure 7) indicating the start of a padding element and padding data after 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 the 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 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 (for example, header2 of Figure 7) has an identification value that is not one of the conventional values specified in Table 4.57 of the MPEG-4 AAC standard, and in change is indicative of an eSBR extension payload (so that the extension_type field in 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 (for example, a decoder), comprising:
una memoria (por ejemplo, el búfer 201 de la figura 3 o 4) configurada para almacenar al menos un bloque de un flujo de bits de audio codificado (por ejemplo, al menos un bloque de un flujo de bits 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 bitstream (e.g., at least one block of an MPEG-4 AAC bitstream);
un desformateador de carga útil de flujo de bits (por ejemplo, el elemento 205 de la figura 3 o el elemento 215 de la figura 4) acoplado a la memoria y configurado para demultiplexar al menos una porción de dicho bloque del flujo de bits; ya bitstream payload deformatter (e.g., element 205 of Figure 3 or element 215 of Figure 4) coupled to 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 del flujo de bits, 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, where 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 del estándar 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) debe realizarse en el contenido de audio del bloque (por ejemplo, usando datos de replicación de banda espectral y metadatos eSBR incluidos en el bloque).at least one flag that identifies whether enhanced spectral band replication (eSBR) processing should be performed on the audio content of the block (for example, using spectral band replication data and eSBR metadata included in the block).
El indicador son los metadatos eSBR y un ejemplo del indicador es el indicador sbrPatchingMode. Otro ejemplo del indicador es el indicador harmonicSBR. Ambos indicadores indican si se va a 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 parcheo 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 the flag is the sbrPatchingMode flag. Another example of the indicator is the harmonicSBR indicator. Both flags indicate whether a baseline 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 eSBR adicionales (es decir, metadatos eSBR distintos del indicador).In some embodiments, the fill data also includes additional eSBR metadata (i.e., eSBR metadata other than the indicator).
La memoria puede ser un búfer (por ejemplo, una implementación de la memoria 201 de búfer de la figura 4) que almacena (por ejemplo, de manera no transitoria) al menos dicho bloque del flujo de bits de audio codificado.The memory may be a buffer (e.g., an implementation of the buffer memory 201 of Figure 4) that stores (e.g., non-transitory) at least said block of the encoded audio bitstream.
Se estima que la complejidad del rendimiento del procesamiento de eSBR (usando la transposición armónica eSBR y el preaplanamiento) por un decodificador eSBR durante la decodificación de un flujo de bits MPEG-4 AAC que incluye metadatos eSBR (indicativos de estas herramientas eSBR) sería la siguiente (para decodificación típica con los parámetros indicados):It is estimated that 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 that includes eSBR metadata (indicative of these eSBR tools) would be following (for typical decoding with the indicated parameters):
• Transposición armónica (16 kbps, 14400/28800 Hz)• Harmonic transposition (16 kbps, 14400/28800 Hz)
° Basada en DFT: 3,68 WMOPS (millones de operaciones ponderadas por segundo);° Based on DFT: 3.68 WMOPS (weighted million operations per second);
o Basada en QMF: 0,98 WMOPS;o Based on QMF: 0.98 WMOPS;
• Preprocesamiento de parcheo QMF (preaplanamiento): 0,1WMOPS.• QMF patching preprocessing (pre-flattening): 0.1WMOPS.
Se sabe que la transposición basada en DFT funciona típicamente mejor que la transposición basada en QMF para transitorios.DFT-based transpose is known to typically perform better than QMF-based transpose for transients.
De acuerdo con algunas realizaciones de la presente invención, un elemento de relleno (de un flujo de bits de audio codificado) que incluye metadatos 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 eSBR está incluido en el elemento de relleno y que el procesamiento de eSBR debe 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 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 the eSBR metadata is included in the padding element and that the eSBR processing must be performed on the audio content of the relevant block, and/or a parameter (for example, the same parameter "bs_extension_id") whose value ( for example, bs_extension_id = 2) indicates that a filler element's sbr_extension() container 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 fill element sbr_extension() container includes PS data, and such a parameter having the value bs_extension_id = 3 may indicate that a filler element's sbr_extension() container includes eSBR metadata:
Tabla 1Table 1
De acuerdo con algunas realizaciones de la invención, la sintaxis de cada elemento de extensión de replicación de banda espectral que incluye metadatos eSBR y/o datos PS es como se indica en la tabla 2 a continuación (en la que "sbr_extension()" denota 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" denota datos PS y "esbr_data" denota metadatos eSBR):In accordance with some embodiments of the invention, the syntax of each spectral band replication extension element that includes eSBR metadata and/or PS data is as set forth in Table 2 below (where "sbr_extension()" denotes a container which is the spectral band replication extension element, "bs_extension_id" is as described in table 1 above, "ps_data" denotes PS data and "esbr_data" denotes eSBR metadata):
Tabla 2Table 2
En una realización de ejemplo, 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 example 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"; y1. The one-bit metadata parameter, "bs_sbr_preprocessing"; and
2. Para cada canal ("ch") de contenido de audio del flujo de bits codificado que se va a 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 of 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 3Table 3
La sintaxis anterior permite una implementación eficiente de una forma mejorada de replicación de banda espectral, como la transposición armónica, como una extensión de un decodificador heredado. Específicamente, los datos eSBR de la tabla 3 incluyen solo aquellos parámetros necesarios para realizar la forma mejorada de replicación de banda espectral que no están ya soportados en el flujo de bits o directamente derivables de los parámetros ya soportados en el flujo de bits. Todos los demás parámetros y datos de procesamiento necesarios para realizar la forma mejorada de replicación de banda espectral se extraen de parámetros preexistentes en ubicaciones ya definidas en el flujo de bits. The above syntax allows for an efficient implementation of an improved form of spectral band replication, such as harmonic transposition, as an extension of a legacy decoder. Specifically, the eSBR data in Table 3 includes only those parameters necessary to perform the enhanced form of spectral band replication that are not already supported in the bitstream or directly derivable from parameters already supported in the bitstream. All other parameters and processing data necessary to perform the enhanced form of spectral band replication are extracted from pre-existing parameters at locations already defined in the bitstream.
Por ejemplo, un decodificador compatible con MPEG-4 HE-AAC o HE-AAC v2 puede ampliarse para incluir una forma mejorada de replicación de banda espectral, 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 que ya es soportada por el decodificador. En el contexto de un decodificador compatible con MPEG-4 HE-AAC o HE-AAC v2, esta forma de base de replicación de banda espectral es la herramienta SBR de parcheo espectral QMF como se define en la sección 4.6.18 del estándar MPEG-4 AAC.For example, an MPEG-4 HE-AAC or HE-AAC v2 compliant decoder can be expanded to include an improved 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 that is 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 standard. 4 AAC.
Al realizar la forma mejorada de replicación de banda espectral, un decodificador HE-AAC extendido puede reutilizar muchos de los parámetros del flujo de bits ya incluidos en la carga útil de extensión SBR del flujo de bits. Los parámetros específicos que pueden reutilizarse incluyen, por ejemplo, los diversos parámetros que determinan la tabla de 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 modifica 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 el estándar USAC se omiten del flujo de bits, reduciendo así la sobrecarga de control en el flujo de bits. Típicamente, cuando un parámetro especificado en el estándar AAC tiene un parámetro equivalente especificado en el estándar USAC, el parámetro equivalente especificado en el estándar USAC tiene el mismo nombre que el parámetro especificado en el estándar AAC, por ejemplo, el factor de escala de la envolvente EOrigMapped. Sin embargo, el parámetro equivalente especificado en el estándar USAC tiene típicamente un valor diferente, que se "ajusta" para el procesamiento de SBR mejorada definido en el estándar USAC en lugar del procesamiento SBR definido en el estándar AAC.By performing the enhanced form of spectral band replication, an extended HE-AAC decoder can reuse many of the bitstream parameters already included in the bitstream SBR extension payload. Specific parameters that can be reused include, for example, the various parameters that determine the master frequency band table. These parameters include bs_start_freq (parameter that determines the start of the master frequency table), bs_stop_freq (parameter that determines the stop of the master frequency table), bs_freq_scale (parameter that determines the number of frequency bands per octave), and bs_alter_scale ( parameter that modifies the scale of the frequency bands). Parameters that can be reused also include parameters that determine the noise band table (bs_noise_bands) and limiter band table parameters (bs_limiter_bands). Accordingly, in various embodiments, at least some of the equivalent parameters specified in the USAC standard are omitted from the bitstream, thereby reducing the control overhead in the bitstream. Typically, when a parameter specified in the AAC standard has an equivalent parameter specified in the USAC standard, the equivalent parameter specified in the USAC standard has the same name as the parameter specified in the AAC standard, for example, the scale factor of the EOrigMapped envelope. However, the equivalent parameter specified in the USAC standard typically has a different value, which is "tuned" for enhanced SBR processing defined in the USAC standard rather than SBR processing defined in the AAC standard.
Para mejorar la calidad subjetiva del 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 flujo 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 parcheo 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 parcheo de SBR normal para señales de voz y mixtas, ya que proporciona una mejor conservación de la estructura temporal en la voz.To improve the subjective quality of audio content with harmonic frequency structure and strong 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 tools, can be determined in the encoder by applying a signal-dependent sorting mechanism. Generally, use of the harmonic patching method (sbrPatchingMode == 1) is preferable for encoding music 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. In contrast, the use of the normal SBR patching method is preferred for speech and mixed signals, as it provides better preservation of the temporal structure in the speech.
Para mejorar el rendimiento del transpondedor armónico, se puede activar un paso de preprocesamiento (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 gruesa 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 step (bs_sbr_preprocessing == 1) can be activated that strives to avoid introducing spectral discontinuities of the signal entering the subsequent envelope adjuster. The tool's operation is beneficial for signal types where the coarse spectral envelope of the low-band signal used for high-frequency reconstruction shows large level variations.
Para mejorar la respuesta transitoria del parcheo armónico SBR, se puede aplicar un sobremuestreo de dominio frecuencia adaptativo de señal (sbrOversamplingFlag == 1). Dado que el sobremuestreo de dominio frecuencia adaptativo de la señal aumenta la complejidad computacional del transpondedor, pero solo brinda beneficios para las tramas que contienen transitorios, el uso de esta herramienta está controlado por el elemento de flujo de bits, que se transmite una vez por trama y por canal SBR independiente.To improve the transient response of SBR harmonic patching, signal adaptive frequency domain oversampling (sbrOversamplingFlag == 1) can be applied. Since signal adaptive frequency-domain oversampling increases the computational complexity of the transponder, but only provides benefits for frames containing transients, the use of this tool is controlled by the bitstream element, which is transmitted once per frame and by independent SBR channel.
Un decodificador que opera en el modo de SBR mejorada propuesto necesita típicamente poder cambiar entre el parcheo 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 parcheo SBR heredado como 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 can be introduced that can be as long as the duration of a core audio frame, depending on the decoder configuration. Typically, the delay for both legacy and enhanced SBR patching will be similar.
Además de los numerosos parámetros, un decodificador HE-AAC extendido también puede reutilizar otros elementos de datos cuando se realiza una forma mejorada de replicación de banda espectral de acuerdo con realizaciones de la invención. Por ejemplo, los datos de la envolvente y los datos del ruido de fondo también pueden extraerse 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 in accordance with embodiments of the invention. For example, envelope data and background noise data can 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 replication. spectral band.
En esencia, estas realizaciones explotan 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 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 de acuerdo con las realizaciones, se usan para una forma mejorada de HFR (por ejemplo, la transposición armónica de eSBR). Como se explicó 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) sintonizados 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 usarse para procesar de manera eficiente y efectiva los datos de audio usando la forma mejorada de HFR.In essence, these embodiments exploit the configuration parameters and envelope data already supported by a legacy HE-AAC or HE-AAC v2 decoder in the SBR extension payload to enable an enhanced form of spectral band replication that requires the least possible amount of additional transmitted data. The metadata was originally tuned for a base form of HFR (e.g., the spectral translation operation of SBR), but according to embodiments, it is used for an enhanced form of HFR (e.g., the harmonic transposition of eSBR). . As explained above, metadata generally represents operational parameters (e.g., envelope scaling factors, background noise scaling factors, time/frequency grid parameters, sinusoid addition information, variable crossover over frequency/band, inverse filtering mode, envelope resolution, smoothing mode, frequency interpolation mode) tuned and intended for use with the base form of HFR (e.g. linear spectral translation). However, this metadata, combined with additional metadata parameters specific to the enhanced form of HFR (e.g., harmonic transposition), can be used to efficiently and effectively process audio data using the enhanced form of HFR.
En consecuencia, los decodificadores extendidos que soportan una forma mejorada de replicación de banda espectral pueden crearse de una manera muy eficiente confiando en elementos de flujo de bits ya definidos (por ejemplo, aquellos en la carga útil de extensión SBR) y agregando 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 agregados en un campo de datos reservado, 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 el flujo de bits sea retrocompatible con el decodificador heredado que no soporta la forma mejorada de replicación de banda espectral. Se apreciará que el campo de datos reservado es un campo de datos retrocompatible, es decir, es un campo de datos que ya es soportador por decodificadores anteriores, como los decodificadores HE-AAC o HE-AAC v2 heredados. De manera similar, el contenedor de extensión es retrocompatible, es decir, es un contenedor de extensión que ya es soportador por decodificadores anteriores, como los decodificadores HE-AAC o HE-AAC v2 heredados.Consequently, extended decoders that support an improved form of spectral band replication can be created in a very efficient manner by relying on already defined bitstream elements (e.g., those in the SBR extension payload) and adding only the parameters required to support the enhanced form of spectral band replication (in a filler 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 improved form of spectral band replication by ensuring that the bitstream is backward compatible with the legacy decoder that does not support the enhanced form of spectral band replication. It will be appreciated that the reserved data field is a backward compatible data field, that is, it is a data field that is already supported by previous 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 previous 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 SBR definido en MPEG-4 AAC se actualiza para contener la herramienta SBR y aspectos de la herramienta SBR mejorada (eSBR) como se indica en el elemento de extensión 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 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 (eSBR) tool as indicated in 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 un paso de codificación de datos de audio para generar un flujo de bits codificado (por ejemplo, un flujo de bits MPEG-4 AAC), incluyendo los metadatos eSBR en al menos un segmento de al menos un bloque del flujo de bits codificado y datos de audio en al menos otro segmento del bloque. En realizaciones típicas, el método incluye un paso de multiplexar los datos de audio con los metadatos eSBR en cada bloque del flujo de bits codificado. En la decodificación típica del flujo de bits codificado en un decodificador eSBR, el decodificador extrae los metadatos eSBR del flujo de bits (incluido el análisis y el demultiplexado de los metadatos eSBR y los datos de audio) y usa los metadatos eSBR para procesar los datos de audio para generar un flujo de datos de audio decodificados.In some embodiments, the invention is a method that includes an audio data encoding step 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 audio data) and uses the eSBR metadata to process the data. to generate a stream of decoded audio data.
Otro aspecto de la invención es un decodificador eSBR configurado para realizar el procesamiento de eSBR (por ejemplo, usando al menos una de las herramientas eSBR conocidas como transposición armónica o preaplanamiento) durante la decodificación de un flujo de bits de audio codificado (por ejemplo, un flujo de bits MPEG-4 AAC) que no incluye metadatos 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 eSBR tools known 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 eSBR 400 de la figura 5 incluye la memoria 201 de búfer (que es idéntica a la memoria 201 de las figuras 3 y 4), el desformateador 215 de carga útil de flujo 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 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), the audio decoding subsystem 202 (sometimes called the "core" decoding stage or the "core" decoding subsystem, and which is identical to the decoding subsystem 202 of Figure 3), the data generation subsystem 401 eSBR control and eSBR processing stage 203 (which is identical to stage 203 of Figure 3), connected as shown. Also typically, decoder 400 includes other processing elements (not shown).
En el funcionamiento del decodificador 400, una secuencia de bloques de un flujo de bits de audio codificado (un flujo de bits MPEG-4 AAC) recibido por el decodificador 400 se confirma desde el búfer 201 al desformateador 215. El desformateador 215 está acoplado y configurado para demultiplexar cada bloque del flujo de bits para extraer metadatos SBR (incluidos datos de envolvente cuantificados) y típicamente también otros metadatos de los mismos. El desformateador 215 está configurado para confirmar al menos los metadatos 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 del flujo de bits y para confirmar los datos de audio extraídos en el subsistema 202 de decodificación (etapa de decodificación).In operation of the decoder 400, a sequence of blocks of an encoded audio bitstream (an MPEG-4 AAC bitstream) received by the decoder 400 is committed from the buffer 201 to the deformatter 215. The deformatter 215 is coupled and configured to demultiplex each block of the bitstream to extract SBR metadata (including quantized envelope data) and typically also other metadata therefrom. The deformatter 215 is configured to commit at least the SBR metadata in the eSBR processing step 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 step).
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 eSBR. La decodificación se realiza en el dominio frecuencia. Típicamente, una etapa final de procesamiento en el subsistema 202 aplica una transformación de dominio frecuencia a dominio tiempo a los datos de audio de dominio frecuencia decodificados, de modo que la salida del subsistema son datos de audio decodificados de dominio tiempo. La etapa 203 está configurada para aplicar herramientas SBR (y herramientas eSBR) indicadas por los metadatos SBR (extraídos por el desformateador 215) y por los metadatos eSBR generados en el subsistema 401, a los datos de audio decodificados (es decir, para realizar el procesamiento SBR y eSBR en la salida del subsistema 202 de decodificación usando los metadatos SBR y eSBR) para generar los datos de audio completamente decodificados que se emiten desde el decodificador 400. Típicamente, el decodificador 400 incluye una memoria (accesible por el subsistema 202 y la etapa 203) que almacena la salida de datos y metadatos de audio desformateados del desformateador 215 (y opcionalmente también el subsistema 401), y la etapa 203 está configurada para acceder a los datos de audio y metadatos según sea necesario durante el procesamiento de SBR y eSBR. Se puede considerar que el procesamiento SBR en la etapa 203 es un posprocesamiento 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 el estándar 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 confirm the decoded audio data in eSBR processing step 203. Decoding is performed in the frequency domain. Typically, a final processing step in subsystem 202 applies a frequency domain to time domain transformation to the data. decoded frequency domain audio data, so 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 subsystem 401, to the decoded audio data (i.e., to perform the SBR and eSBR processing at 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) which stores the deformatted audio data and metadata output from deformatter 215 (and optionally also subsystem 401), and step 203 is configured to access the audio data and metadata as needed during SBR processing and eSBR. The SBR processing in step 203 can be considered to be post-processing at the output of the central decoding subsystem 202. Optionally, decoder 400 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 215) that is coupled and configured to perform upmix at the output of stage 203 to generate fully decoded upmix 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 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 de tanto 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 la izquierda (lk(n)) y derecha (rk(n)) reconstruyeron las señales de acuerdo con:Parametric stereo is an encoding tool that represents a stereo signal using a linear downmix of the left and right channels of the stereo signal and sets of spatial parameters that describe the stereo image. Parametric stereo typically employs three types of spatial parameters: (1) interchannel intensity differences (IID) that describe the intensity differences between channels; (2) interchannel phase differences (IPD) that describe the phase differences between channels; and (3) inter-channel coherence (ICC) which 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 a high-quality reconstruction of the stereo image. However, the IPD parameters only specify the relative phase differences between the channels of the stereo input signal and do not indicate the distribution of these phase differences in the left and right channels. Therefore, a fourth type of parameter that describes an overall phase shift or an overall phase difference (OPD) can be additionally 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 along with spatial parameters to generate the left (lk(n)) and right (rk(n)) reconstructed the signals according to:
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 tiempo mediante una transformación de frecuencia a tiempo.where H 11 , H 12 , H 21 and H 22 are defined by the stereo parameters. The signals lk(n) and rk(n) are finally transformed back to the time domain by 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 del flujo de bits de audio codificado que se va a decodificar, y para generar datos de control eSBR (que pueden ser o incluir metadatos eSBR de cualquiera de los tipos incluidos en flujos de bits de audio codificados de acuerdo con otras realizaciones de la invención) en respuesta a al menos un resultado del paso de detección. Los datos de control eSBR se confirman en la etapa 203 para activar la aplicación de herramientas eSBR individuales o combinaciones de herramientas eSBR al detectar una propiedad específica (o combinación de propiedades) del flujo de bits y/o para controlar la aplicación de tales herramientas 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 el flujo de bits es o no indicativo 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 el flujo 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 el flujo de bits. Otros aspectos de la invención son los métodos de decodificación de flujo de bits de audio realizados por cualquier realización del decodificador de la invención descrito en este párrafo y en el párrafo anterior.The control data generation 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 metadata eSBR of any type included in encoded audio bitstreams according to other embodiments of the invention) in response to at least one result of the detection step. The eSBR control data is confirmed at 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) to configure the parameter sbrPatchingMode[ch] (and confirm the parameter set 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 confirming the parameter set 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 to set the parameters sbrPitchInBinsFlag[ch] and sbrPitchlnBins[ch] (and confirm the parameters set in step 203) in response to detecting the pitch of the audio content indicated by the bitstream. Other aspects of the invention are the audio bitstream decoding methods performed by any embodiment of the decoder of the invention described in this paragraph and the previous 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) 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 computadora (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 pasos 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 pasos 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 una circuitería de procesamiento programado (y/o configurado de otra manera) para realizar una realización del método de la invención (o pasos 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). 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-transparent manner). transient) 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 purpose processor. general programmable, 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, 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 the data confirmed therein.
Las realizaciones de la presente invención pueden implementarse en hardware, firmware o software, o una combinación de ambos (por ejemplo, como una matriz lógica programable). A menos que se especifique lo contrario, los algoritmos o procesos incluidos como parte de la invención no están intrínsecamente relacionados con ninguna computadora u otro aparato en particular. En particular, se pueden usar varias máquinas de uso general con programas escritos de acuerdo con las enseñanzas del presente documento, o puede ser más conveniente construir aparatos más especializados (por ejemplo, circuitos integrados) para realizar los pasos requeridos 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, en 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 el presente documento y generar información de salida. La información de salida se aplica a uno o más dispositivos de salida, de manera conocida.Embodiments of the present invention may be implemented in hardware, firmware, or software, or a combination of both (e.g., as a programmable logic array). Unless otherwise specified, any algorithms or processes included as part of the invention are not intrinsically related to any particular computer or other device. In particular, various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct more specialized apparatus (e.g., integrated circuits) to perform the required steps of the method. Therefore, the invention can be implemented in one or more computer programs that run on one or more programmable computer systems (for example, an implementation of any of the elements of Figure 1, or the encoder 100 of Figure 2 (or a 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 device or port of departure. Program code is applied to 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 estos 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 any case, the language may be a compiled or interpreted language.
Por ejemplo, cuando se implementan mediante secuencias de instrucciones de software informático, varias funciones y pasos 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, pasos y funciones de las realizaciones pueden corresponder a porciones de las instrucciones del software.For example, when implemented by computer software instruction sequences, various functions and steps of embodiments of the invention may be implemented by multithreaded software instruction sequences 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 estos 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 una computadora programable de propósito general o especial, para configurar y operar la computadora cuando el medio o dispositivo de almacenamiento es leído por el sistema informático para realizar los procedimientos descritos en el presente documento. El sistema de la invención también puede implementarse como un medio de almacenamiento legible por computadora, 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 el presente documento.Each of these computer programs is preferably stored or downloaded on a storage medium or device (for example, memory or solid state medium, or magnetic or optical medium) readable by a general or special purpose programmable computer, to configure and operate the computer when the storage medium or device is read by the computer system to perform the procedures described herein. The system of the invention may also be implemented as a computer-readable storage medium, configured with (i.e., storing) a computer program, where the storage medium so configured causes a computer system to operate in a specific and predefined manner to perform the functions described in this document.
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 cambios de fase pueden usarse en combinación con los bancos de filtros de síntesis y análisis QMF complejos. El banco de filtros de análisis es responsable de filtrar la señal de banda baja en el dominio tiempo generada por el decodificador central en una pluralidad de subbandas (por ejemplo, subbandas QMF). El banco de filtros de síntesis es responsable de combinar la banda alta regenerada producida por la técnica 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 SBR con muestreo descendente, no debería tener cambios de fase que dependan del flujo de bits. Los bancos 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 se vuelven obsoletas cuando se amplía 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 can 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 can be used in combination with complex QMF analysis and synthesis filter banks. The analysis filter bank is responsible for filtering the low band time domain signal generated by the central decoder into a plurality of subbands (e.g., QMF subbands). The synthesis filter bank is responsible for combining the regenerated high band produced by the selected HFR technique (as indicated by the received sbrPatchingMode parameter) with the decoded low band to produce a wideband output audio signal. However, a given filter bank implementation operating in a certain sample rate mode, for example, normal dual-rate operation or downsampled SBR mode, should not have phase shifts that depend on the bitstream. The QMF banks used in SBR are a complex exponential extension of the cosine modulated filter bank theory. It can be shown that alias cancellation constraints become obsolete when the cosine modulation filter bank is expanded 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:
donde p0(n) es un filtro prototipo simétrico o asimétrico de valor real (típicamente, un filtro prototipo de paso bajo), M denota 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 del banco de filtros tienen un valor complejo, puede añadirse al banco de filtros de análisis un paso de cambio de fase aditivo posiblemente dependiente del canal. Estos cambios de fase adicionales deben compensarse antes del banco de filtros de síntesis. Si bien los términos de cambio 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 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 denotes the number of channels, and N is the order of the prototype filter. The number of channels used in the analysis filter bank may be different than 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 operates the synthesis filter bank in downsampling mode, the synthesis filter bank can have only 32 channels. Since the subband samples of the filter bank are complex in value, a possibly channel-dependent additive phase shift step can be added to the analysis filter bank. These additional phase shifts must be compensated for before the synthesis filter bank. While phase change terms can in principle be of arbitrary values without destroying the operation of the QMF analysis/synthesis chain, they can 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, p0(n), pueden definirse con una longitud, L, de 640, como se muestra en la tabla 4 a continuación.The prototype filter coefficients, p 0 (n), can be defined with a length, L, of 640, as shown in Table 4 below.
Tabla 4Table 4
El filtro prototipo, po(n), también puede derivarse de la tabla 4 mediante una o más operaciones matemáticas como redondeo, submuestreo, interpolación y decimación.The prototype filter, po(n), can also be derived from Table 4 using 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 explicó anteriormente), en algunas realizaciones, ciertos elementos de los datos de control pueden ser simultaneados en el contenedor de extensión eSBR (bs_extension_id == EXTENSION_ID_ESBR) para mejorar la calidad de la señal regenerada. Algunos de los elementos simultaneados 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, ya sea en la dirección de frecuencia o en la del tiempo, de la 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 entre sin filtrado inverso, un nivel bajo de filtrado inverso, un nivel intermedio de filtrado inverso y un nivel alto de filtrado inverso) y los datos de armónicos faltantes (por ejemplo, un parámetro que indica si debe agregarse 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 se sintonizan correctamente para el transpondedor seleccionado, pueden aumentar la calidad de la señal regenerada.Although the setting of SBR-related control information does not typically depend on the details of the transposition (as explained above), in some embodiments, certain elements of the control data may be concurred in the eSBR extension container (bs_extension_id = = EXTENSION_ID_ESBR) to improve the quality of the regenerated signal. Some of the simultaneous elements may include background noise data (for example, background noise scaling factors and a parameter indicating the direction, either in the frequency direction or in the time direction, of the delta coding for each background noise), the reverse filtering data (for example, a parameter indicating the reverse filtering mode selected from no reverse filtering, a low level of reverse filtering, an intermediate level of reverse filtering, and a high level of reverse filtering ) and missing harmonic data (for example, 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 transponder performed in the encoder and therefore, if tuned correctly 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 flujo de bits de la tabla 3) y se sintonizan 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 sintonizados en el contenedor de extensión eSBR aumentará la calidad del audio producido por el transpondedor y afectará solo mínimamente a la tasa de bits. Para garantizar la retrocompatibilidad con los decodificadores heredados, los parámetros sintonizados para la operación de traslación espectral de SBR también pueden enviarse en el flujo de bits como parte de los datos de control de SBR usando señalización implícita o explícita. 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 tuned to the eSBR harmonic transponder. eSBR. The additional bit rate required to transmit these two classes of metadata for the eSBR harmonic transponder is relatively low. Therefore, sending reverse filtering control data and/or tuned missing harmonics into the eSBR extension container will increase the quality of the audio produced by the transponder and only minimally affect the bit rate. To ensure backward compatibility with legacy decoders, tuned parameters for SBR spectral translation operation can 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. Los 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 ways. The 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 (7)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18153683 | 2018-01-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2948839T3 true ES2948839T3 (en) | 2023-09-20 |
Family
ID=61054251
Family Applications (7)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| 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 |
| ES23210525T Active ES3030182T3 (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 |
| ES19153875T Active ES2871872T3 (en) | 2018-01-26 | 2019-01-28 | Backward-compatible integration of high-frequency reconstruction techniques for audio signals |
| ES22181854T Active ES2948839T3 (en) | 2018-01-26 | 2019-01-28 | Backwards compatible integration of high frequency reconstruction techniques for audio signals |
| ES23210524T Active ES3029582T3 (en) | 2018-01-26 | 2019-01-28 | Backward-compatible integration of high frequency reconstruction techniques for audio signals |
Family Applications Before (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| 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 |
| ES23210525T Active ES3030182T3 (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 |
| ES19153875T Active ES2871872T3 (en) | 2018-01-26 | 2019-01-28 | Backward-compatible integration of high-frequency reconstruction techniques for audio signals |
Family Applications After (1)
| 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 |
Country Status (6)
| Country | Link |
|---|---|
| EP (11) | EP3872809B1 (en) |
| DK (4) | DK4120261T3 (en) |
| ES (7) | ES2924955T3 (en) |
| FI (2) | FI4120261T3 (en) |
| HU (7) | HUE062211T2 (en) |
| PL (7) | PL4303871T3 (en) |
Families Citing this family (2)
| 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)
| 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 |
| TWI758146B (en) * | 2015-03-13 | 2022-03-11 | 瑞典商杜比國際公司 | Decoding audio bitstreams with enhanced spectral band replication metadata in at least one fill element |
-
2019
- 2019-01-28 EP EP21164481.0A patent/EP3872809B1/en active Active
- 2019-01-28 PL PL23210525.4T patent/PL4303871T3/en unknown
- 2019-01-28 ES ES21164481T patent/ES2924955T3/en active Active
- 2019-01-28 ES ES23210523T patent/ES3032614T3/en active Active
- 2019-01-28 PL PL22181854.5T patent/PL4099325T3/en unknown
- 2019-01-28 DK DK22189216.9T patent/DK4120261T3/en active
- 2019-01-28 HU HUE22181854A patent/HUE062211T2/en unknown
- 2019-01-28 HU HUE23210525A patent/HUE071389T2/en unknown
- 2019-01-28 EP EP19153875.0A patent/EP3518233B1/en active Active
- 2019-01-28 HU HUE21164481A patent/HUE059669T2/en unknown
- 2019-01-28 ES ES23210525T patent/ES3030182T3/en active Active
- 2019-01-28 EP EP25164867.1A patent/EP4550314A3/en active Pending
- 2019-01-28 ES ES22189216T patent/ES2969225T3/en active Active
- 2019-01-28 EP EP25164868.9A patent/EP4550315A3/en active Pending
- 2019-01-28 DK DK19153875.0T patent/DK3518233T3/en active
- 2019-01-28 PL PL23210523.9T patent/PL4303869T3/en unknown
- 2019-01-28 HU HUE22189216A patent/HUE065166T2/en unknown
- 2019-01-28 HU HUE19153875A patent/HUE054531T2/en unknown
- 2019-01-28 HU HUE23210524A patent/HUE071338T2/en unknown
- 2019-01-28 FI FIEP22189216.9T patent/FI4120261T3/en active
- 2019-01-28 EP EP23210525.4A patent/EP4303871B1/en active Active
- 2019-01-28 EP EP23210524.7A patent/EP4303870B1/en active Active
- 2019-01-28 EP EP25165078.4A patent/EP4550317A3/en active Pending
- 2019-01-28 FI FIEP22181854.5T patent/FI4099325T3/en active
- 2019-01-28 EP EP25165036.2A patent/EP4550316A3/en active Pending
- 2019-01-28 EP EP22189216.9A patent/EP4120261B1/en active Active
- 2019-01-28 PL PL21164481.0T patent/PL3872809T3/en unknown
- 2019-01-28 PL PL23210524.7T patent/PL4303870T3/en unknown
- 2019-01-28 ES ES19153875T patent/ES2871872T3/en active Active
- 2019-01-28 ES ES22181854T patent/ES2948839T3/en active Active
- 2019-01-28 DK DK21164481.0T patent/DK3872809T3/en active
- 2019-01-28 PL PL22189216.9T patent/PL4120261T3/en unknown
- 2019-01-28 EP EP22181854.5A patent/EP4099325B1/en active Active
- 2019-01-28 ES ES23210524T patent/ES3029582T3/en active Active
- 2019-01-28 EP EP23210523.9A patent/EP4303869B1/en active Active
- 2019-01-28 PL PL19153875T patent/PL3518233T3/en unknown
- 2019-01-28 HU HUE23210523A patent/HUE071631T2/en unknown
- 2019-01-28 DK DK22181854.5T patent/DK4099325T3/en active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2946760T3 (en) | Decode audio bitstreams with spectral band enhanced replication metadata in at least one padding element | |
| 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 | |
| ES2948839T3 (en) | Backwards compatible integration of high frequency reconstruction techniques for audio signals | |
| RU2832544C2 (en) | Integration of high-frequency reconstruction techniques with reduced post-processing delay | |
| HK40077649A (en) | Backward-compatible integration of high frequency reconstruction techniques for audio signals | |
| BR122024005696A2 (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 | |
| BR122024005709A2 (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 | |
| BR122024011587A2 (en) | METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA | |
| BR122024011585A2 (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 | |
| BR122024011576A2 (en) | METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND NON-TRANSITORY COMPUTER-READABLE MEDIA | |
| BR122024009508A2 (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 | |
| BR122024009518A2 (en) | AUDIO PROCESSING UNIT FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL | |
| BR122024009519A2 (en) | METHOD FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL, AND COMPUTER READABLE NON-TRANSITIVE MEDIUM | |
| BR122025010214A2 (en) | METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND COMPUTER-READABLE NON-TRANSITIVE STORAGE MEDIA | |
| BR122025010200A2 (en) | METHOD FOR PERFORMING HIGH-FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL AND COMPUTER-READABLE NON-TRANSITIVE STORAGE MEDIA | |
| BR122024009513A2 (en) | AUDIO PROCESSING UNIT FOR PERFORMING HIGH FREQUENCY RECONSTRUCTION OF AN AUDIO SIGNAL |























