ES3031937T3 - Audio decoder - Google Patents
Audio decoderInfo
- Publication number
- ES3031937T3 ES3031937T3 ES24167725T ES24167725T ES3031937T3 ES 3031937 T3 ES3031937 T3 ES 3031937T3 ES 24167725 T ES24167725 T ES 24167725T ES 24167725 T ES24167725 T ES 24167725T ES 3031937 T3 ES3031937 T3 ES 3031937T3
- Authority
- ES
- Spain
- Prior art keywords
- noise
- band
- spectral
- quantized
- scale factor
- 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
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
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/035—Scalar quantisation
-
- 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
-
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—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 spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
-
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/028—Noise substitution, i.e. substituting non-tonal spectral components by noisy source
-
- 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/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Un codificador para generar un flujo de audio basado en una representación en el dominio de la transformada de una señal de audio de entrada comprende un calculador de errores de cuantificación configurado para determinar un error de cuantificación multibanda en varias bandas de frecuencia de la señal de audio de entrada, para las cuales se dispone de información de ganancia de banda independiente. El codificador también comprende un proveedor de flujo de audio configurado para generar el flujo de audio de forma que este contenga información que describe el contenido de audio de las bandas de frecuencia y el error de cuantificación multibanda. Un decodificador para generar una representación decodificada de una señal de audio basado en un flujo de audio codificado que representa los componentes espectrales de las bandas de frecuencia de la señal de audio comprende un relleno de ruido configurado para introducir ruido en los componentes espectrales de varias bandas de frecuencia, a las que se asocia información de ganancia de banda independiente basada en un valor común de intensidad de ruido multibanda. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Decodificador de audio
Antecedentes de la invención
[0001]Las realizaciones según la invención se refieren a un decodificador para proporcionar una representación decodificada de una señal de audio basándose en un flujo de audio codificado.
[0002]En términos generales, las realizaciones según la invención se refieren a un relleno de ruido.
[0003]Los conceptos de codificación de audio a menudo codifican una señal de audio en el dominio de la frecuencia. Por ejemplo, el concepto denominado de “codificación de audio avanzada” (Advanced Audio Coding, AAC) codifica el contenido de diferentes segmentos espectrales (o segmentos de frecuencia) teniendo en cuenta un modelo psicoacústico. Para este propósito, se codifica la información de intensidad para diferentes segmentos espectrales. Sin embargo, la resolución utilizada para codificar intensidades en diferentes segmentos espectrales se adapta según las relevancias psicoacústicas de los diferentes segmentos espectrales. Así, algunos segmentos espectrales, que se considera que son de baja relevancia psicoacústica, se codifican con una resolución de intensidad muy baja, de modo que algunos de los segmentos espectrales que se consideran de baja relevancia psicoacústica, o incluso un número dominante de los mismos, se cuantifican a cero. Cuantificar la intensidad de un segmento espectral a cero lleva aparejada la ventaja de que el valor cuantificado a cero puede codificarse de una manera que ahorra muchos bits, lo cual ayuda a mantener la velocidad binaria lo más pequeña posible. No obstante, los segmentos espectrales cuantificados a cero a veces resultan en artefactos audibles, aunque el modelo psicoacústico indique que los segmentos espectrales son de baja relevancia psicoacústica.
[0004]Por lo tanto, existe el deseo de tratar los segmentos espectrales cuantificados a cero, tanto en un codificador de audio como en un decodificador de audio.
[0005]Se conocen diferentes estrategias para tratar los segmentos espectrales codificados a cero en los sistemas de codificación de audio en el dominio de la transformada y también en los codificadores de voz.
[0006]Por ejemplo, la norma MPEG-4 “AAC” (codificación de audio avanzada) utiliza el concepto de sustitución de ruido perceptivo (PNS). La sustitución de ruido perceptivo rellena bandas de factores de escala completas sólo con ruido. Los detalles respecto al MPEG-4 AAC pueden encontrarse, por ejemplo, en la Norma Internacional ISO /IEC 14496-3 (Tecnología de la Información – Codificación de Objetos Audiovisuales – Parte 3: Audio). Además, el codificador de voz AMR-WB+ reemplaza los vectores de cuantificación vectorial (vectores VQ) cuantificados a cero con un vector de ruido aleatorio, donde cada valor espectral complejo tiene una amplitud constante, pero una fase aleatoria. La amplitud se controla mediante un valor de ruido transmitido con el tren de bits. Los detalles respecto al codificador de voz AMR-WB+ pueden encontrarse, por ejemplo, en la especificación técnica titulada “Third Generation Partnership Project; Technical Specification Group Services and System Aspects: Audio Codec Processing Functions; Extended Adaptive Multi-Rate-Wide Band (AMR-WB+) Codec; Transcoding Functions (Release Six)”, que también se conoce como “3GPP TS 26.290 V6.3.0 (2005-06) – Technical Specification”.
[0007]Además, el documento EP1395980B1 describe un concepto de codificación de audio. La publicación describe un medio por el cual bandas de frecuencias seleccionadas de información de una señal de audio original, que son audibles, pero que son perceptivamente menos relevantes, no necesitan ser codificadas, sino que pueden reemplazarse por un parámetro de relleno de ruido. En cambio, aquellas bandas de señal que tienen contenido, que son más relevantes perceptivamente, se codifican totalmente. De esta manera se ahorran bits de codificación sin dejar huecos en el espectro de frecuencia de la señal recibida. El parámetro de relleno de ruido es una medida del valor de la señal RMS dentro de la banda en cuestión y se utiliza en el extremo de recepción por un algoritmo de decodificación para indicar la cantidad de ruido que hay que inyectar en la banda de frecuencias en cuestión.
[0008]Estrategias adicionales proporcionan una inserción de ruido no guiada en el decodificador, teniendo en cuenta la tonalidad del espectro transmitido.
[0009]Sin embargo, los conceptos convencionales típicamente llevan aparejado el problema de que o bien comprenden una escasa resolución en cuanto a la granularidad del relleno de ruido, lo cual típicamente degrada la impresión de audición, o requieren una cantidad comparativamente grande de información colateral de relleno de ruido, lo cual requiere velocidad binaria extra.
[0010]Las estrategias conocidas del documento de Neuendorf y col. “Detailed Technical Description of Reference Model 0 of the CfP on Unified Speech and Audio Coding (USAC)”, 86, Convención MPEG; Motion Picture Expert Group o la norma ISO/IEC JTC1/SC29/WG11, n.º M15867, 9 de octubre de 2008, XP030044464, y del documento de Neuendorf y col, “A Novel Scheme for Low Bitrate Unified Speech and Audio Coding – MPEG RM0”, presentado en la 126 Convención, mayo de 2009, XP040508995, trata del problema mencionado anteriormente y permite el relleno de ruido de líneas espectrales individuales basándose en un único valor que representa el ruido de cuantificación o un error medio de cuantificación.
[0011]En vista de lo anterior, existe la necesidad de un concepto mejorado de relleno de ruido, que proporcione un mejor compromiso entre la impresión de audición alcanzable y la velocidad binaria requerida.
Resumen de la invención
[0012]Una realización según la invención crea un decodificador para proporcionar una representación decodificada de una señal de audio como se expone en la reivindicación 1.
[0013]El decodificador se basa en el hallazgo de que puede aplicarse un único valor de intensidad de ruido multibanda para un relleno de ruido con buenos resultados si se asocia información de ganancia de banda de frecuencia separada a las distintas bandas de frecuencia. Por consiguiente, se realiza un cambio de escala individual del ruido introducido en las diferentes bandas de frecuencia basándose en la información de ganancia de banda de frecuencia, de manera que, por ejemplo, el único valor de intensidad de ruido multibanda común proporciona, cuando se toma en combinación con información de ganancia de banda de frecuencia separada, información suficiente para introducir ruido de una manera adaptada a la psicoacústica humana. Así, el concepto descrito en esta invención permite aplicar un relleno de ruido en el dominio cuantificado (pero no redimensionado). El ruido añadido en el decodificador puede cambiarse de escala con la relevancia psicoacústica de la banda sin requerir información colateral adicional (más allá de la información colateral, que es, de todos modos, necesaria para cambiar de escala el contenido de audio sin ruido de las bandas de frecuencia según la relevancia psicoacústica de las bandas de frecuencia). Breve descripción de las Figs.
[0014]
La Fig.1 muestra un diagrama esquemático de bloques de un codificador que puede utilizarse en relación con realizaciones de la invención;
La Fig.2 muestra un diagrama esquemático de bloques de un codificador que puede utilizarse en relación con realizaciones de la invención;
Las Figs.3a y 3b muestran un diagrama esquemático de bloques de una codificación de audio avanzada extendida (AAC) que puede utilizarse en relación con realizaciones de la invención;
Las Figs.4a y 4b muestran listados de programas de pseudocódigo de algoritmos ejecutados para la codificación de una señal de audio;
La Fig.5 muestra un diagrama esquemático de bloques de un decodificador según una realización de la invención; La Fig. 6 muestra un diagrama esquemático de bloques de un decodificador donde puede implementarse la invención;
Las Figs. 7a y 7b muestran un diagrama esquemático de bloques de un decodificador de AAC (codificación de audio avanzada) extendida donde puede implementarse la invención;
La Fig.8a muestra una representación matemática de una cuantificación inversa, que puede llevarse a cabo en el decodificador de AAC extendida de la Fig.7;
Las Fig. 8b muestra un listado de programas de pseudocódigo de un algoritmo para cuantificación inversa, que puede llevarse a cabo por el decodificador de AAC extendida de la Fig.7;
La Fig.8c muestra una representación de diagrama de flujo de la cuantificación inversa;
La Fig.9 muestra un diagrama esquemático de bloques de un rellenador de ruido y un medio de reajuste de escala, que pueden utilizarse en el decodificador de AAC extendida de la Fig.7;
La Fig.10a muestra una representación de código de pseudocódigo de programa de un algoritmo, que puede ser ejecutado por el rellenador de ruido mostrado en la Fig.7 o por el rellenador de ruido mostrado en la Fig.9; La Fig.10b muestra una leyenda de elementos del pseudocódigo de programa de la Fig.10a;
La Fig.11 muestra un diagrama de flujo de un procedimiento, que puede implementarse en el rellenador de ruido de la Fig.7 o en el rellenador de ruido de la Fig.9;
La Fig.12 muestra una ilustración gráfica del procedimiento de la Fig.11;
Las Figs.13a y 13b muestran representaciones de pseudocódigo de programa de algoritmos, que pueden llevarse a cabo por el rellenador de ruido de la Fig.7 o por el rellenador de ruido de la Fig.9;
Las Figs. 14a a 14d muestran representaciones de elementos de tren de bits de un flujo de audio que pueden utilizarse en relación con realizaciones de la invención; y
La Fig.15 muestra una representación gráfica de un tren de bits que puede utilizarse en relación con realizaciones de la invención.
Descripción detallada de las realizaciones
1. Codificador
1.1 Codificador según la Fig.1
[0015]La Fig.1 muestra un diagrama esquemático de bloques de un codificador para proporcionar un flujo de audio basándose en la representación en el dominio de la transformada de una señal de audio de entrada, que puede utilizarse en relación con realizaciones de la invención.
[0016]El codificador 100 de la Fig.1 comprende un calculador de error de cuantificación 110 y un proveedor de flujo de audio 120. El calculador de error de cuantificación 110 está configurado para recibir una información 112 respecto a una primera banda de frecuencias, para la cual se dispone de una información de ganancia de primera banda de frecuencias, y una información 114 acerca de una segunda banda de frecuencias, para la cual se dispone de una información de ganancia de segunda banda de frecuencias. El calculador de error de cuantificación está configurado para determinar un error de cuantificación multibanda sobre una pluralidad de bandas de frecuencias de la señal de audio de entrada, para las cuales se dispone de información de ganancia de banda separada. Por ejemplo, el calculador de error de cuantificación 110 está configurado para determinar el error de cuantificación multibanda por la primera banda de frecuencias y la segunda banda de frecuencias utilizando la información 112, 114. Por consiguiente, el calculador de error de cuantificación 110 está configurado para proporcionar la información 116 que describe el error de cuantificación multibanda al proveedor de flujo de audio 120. El proveedor de flujo de audio 120 está configurado para recibir también una información 122 que describe la primera banda de frecuencias y una información 124 que describe la segunda banda de frecuencias. Además, el proveedor de flujo de audio 120 está configurado para proporcionar un flujo de audio 126, de modo que el flujo de audio 126 comprende una representación de la información 116 y también una representación del contenido de audio de la primera banda de frecuencias y de la segunda banda de frecuencias.
[0017]Por consiguiente, el codificador 100 proporciona un flujo de audio 126, que comprende un contenido de información, que permite una decodificación eficiente del contenido de audio de la banda de frecuencias utilizando un relleno de ruido. En particular, el flujo de audio 126 proporcionado por el codificador lleva aparejado un buen compromiso entre velocidad binaria y flexibilidad de decodificación de relleno de ruido.
1.2 Codificador según la Fig.2
1.2.1 Descripción general del codificador
[0018]En lo sucesivo, se describirá un codificador de audio mejorado, que puede utilizarse en relación con realizaciones de la invención, que está basado en el codificador de audio descrito en la Norma Internacional ISO/IEC 14496-3: 2005(E), Tecnología de la Información – Codificación de Objetos Audiovisuales – Parte 3: Audio, Subparte 4: Codificación General de Audio (GA) – AAC, Twin VQ, BSAC.
[0019]El codificador de audio 200 según la Fig. 2 está basado específicamente en el codificador de audio descrito en la norma ISO/IEC 14496-3: 2005(E), Parte 3: Audio, Subparte 4, Sección 4.1. Sin embargo, el codificador de audio 200 no necesita implementar la funcionalidad exacta del codificador de audio de la norma ISO/IEC 14494-3: 2005(E).
[0020]El codificador de audio 200 puede, por ejemplo, estar configurado para recibir una señal de tiempo de entrada 210 y para proporcionar, basándose en ello, un flujo de audio codificado 212. Un recorrido de procesamiento de señal puede comprender un reductor de muestreo opcional 220, un controlador de ganancia de AAC opcional 222, un banco de filtros de conmutación de bloques 224, un procesamiento de señal opcional 226, un codificador de AAC extendida 228 y un formateador de carga útil de tren de bits 230. Sin embargo, el codificador 200 comprende típicamente un modelo psicoacústico 240.
[0021]En un caso muy simple, el codificador 200 sólo comprende la conmutación de bloques/banco de filtros 224, el codificador de AAC extendida 228, el formateador de carga útil de tren de bits 230 y el modelo psicoacústico 240, mientras que los otros componentes (en particular, los componentes 220, 222, 226) deberían considerarse meramente opcionales.
[0022]En un caso simple, la conmutación de bloques/banco de filtros 224 recibe la señal de tiempo de entrada 210 (opcionalmente con un muestreo reducido por el reductor de muestreo 220, y opcionalmente con ganancia cambiada de escala por el controlador de ganancia de AAC 222), y proporciona, basándose en ello, una representación en el dominio de la frecuencia 224a. La representación en el dominio de la frecuencia 224a puede, por ejemplo, comprender una información que describe intensidades (por ejemplo, amplitudes o energías) de segmentos espectrales de la señal de tiempo de entrada 210. Por ejemplo, la conmutación de bloques/banco de filtros 224 puede estar configurada para realizar una transformada discreta del coseno modificada (MDCT) para obtener los valores en el dominio de la frecuencia de la señal de tiempo de entrada 210. La representación en el dominio de la frecuencia 224a puede ser dividida lógicamente en diferentes bandas de frecuencias, que también se designan como “bandas de factores de escala”. Por ejemplo, se supone que la conmutación de bloques/banco de filtros 224 proporciona valores espectrales (también designados como valores de segmentos de frecuencia) para un gran número de segmentos de frecuencia diferentes. El número de segmentos de frecuencia se determina, entre otras cosas, por la longitud de una ventana introducida en el banco de filtros 224, y también dependiendo de la velocidad de muestreo (y la velocidad binaria). Sin embargo, las bandas de frecuencias o las bandas de factores de escala definen subconjuntos de los valores espectrales proporcionados por la conmutación de bloques/bando de filtros. Los detalles respecto a la definición de las bandas de factores de escala resultan conocidos por los expertos en la materia, y también se describen en la norma ISO/IEC 14496-3: 2005(E), Parte 3, Subparte 4.
[0023]El codificador de AAC extendida 228 recibe los valores espectrales 224a proporcionados por la conmutación de bloques/banco de filtros 224 basándose en la señal de tiempo de entrada 210 (o una versión preprocesada de la misma) como información de entrada 228a. Como puede apreciarse a partir de la Fig. 2, la información de entrada 228a del codificador de AAC extendida 228 puede obtenerse de los valores espectrales 224a utilizando una o más de las etapas de procesamiento del procesamiento espectral opcional 226. Para los detalles respecto a las etapas de preprocesamiento opcional del procesamiento espectral 226, se hace referencia a la norma ISO/IEC 14496-3: 2005(E), y a más normas a las que se hace referencia en la misma.
[0024]El codificador de AAC extendida 228 está configurado para recibir la información de entrada 228a en forma de valores espectrales para una pluralidad de segmentos espectrales y para proporcionar, basándose en ello, una representación cuantificada y codificada sin ruido 228b del espectro. Para este propósito, el codificador de AAC extendida 228 puede, por ejemplo, utilizar información obtenida de la señal de audio de entrada 210 (o una versión preprocesada de la misma) utilizando el modelo psicoacústico 240. En términos generales, el codificador de AAC extendida 228 puede utilizar una información proporcionada por el modelo psicoacústico 240 para decidir qué exactitud debería aplicarse para la codificación de diferentes bandas de frecuencias (o banda de factores de escala) de la información de entrada espectral 228a. Así, el codificador de AAC extendida 228 puede adaptar en general su exactitud de cuantificación para diferentes bandas de frecuencias a las características específicas de la señal de tiempo de entrada 210, y también el número de bits disponibles. Así, el codificador de AAC extendida puede, por ejemplo, ajustar sus exactitudes de cuantificación, de modo que la información que representa el espectro cuantificado y codificado sin ruido comprende una velocidad binaria (o velocidad binaria media) apropiada.
[0025]El formateador de carga útil de tren de bits 230 está configurado para incluir la información 228b que representa los espectros cuantificados y codificados sin ruido en el flujo de audio codificado 212 según una sintaxis predeterminada.
[0026]Para detalles adicionales respecto a la funcionalidad de los componentes del codificador descritos en esta invención, se hace referencia a la norma ISO/IEC 14496-3: 2005(E) (incluyendo el anexo 4.B de la misma), y también a la norma ISO/IEC 13818-7: 2003.
[0027]Además, se hace referencia a la norma ISO/IEC 13818-7: 2005, Subcláusulas C1 a C9.
[0028]Asimismo, se hace referencia específica respecto a la terminología a la norma ISO/IEC 14496-3: 2005(E), Parte 3: Audio, Subparte 1: Principal.
[0029]Además, se hace referencia específica a la norma ISO/IEC 14496-3: 2005(E), Parte 3: Audio, Subparte 4: Codificación General de Audio (GA) – AAC, Twin VQ, BSAC.
1.2.2 Detalles del codificador
[0030]En lo sucesivo, se describirán detalles respecto al codificador haciendo referencia a las Figs.3a, 3b, 4a y 4b.
[0031]Las Figs.3a y 3b muestran un diagrama esquemático de bloques de un codificador de AAC extendida que puede utilizarse en relación con realizaciones de la invención. El decodificador de AAC extendida se designa con 228 y puede ocupar el lugar del codificador de AAC extendida 228 de la Fig.2. El codificador de AAC extendida 228 está configurado para recibir, como información de entrada 228a, un vector de magnitudes de líneas espectrales, donde el vector de líneas espectrales a veces está designado con mdct_line (0..1023). El codificador de AAC extendida 228 también recibe una información de umbral de códec 228c, que describe una energía de error admisible máximo en un nivel de MDCT. La información de umbral de códec 228c se proporciona típicamente de manera individual para diferentes bandas de factores de escala y se genera utilizando el modelo psicoacústico 240. La información de umbral de códec 228 a veces se designa con xmin(sb), donde el parámetro sb indica la dependencia de la banda de factores de escala. El codificador de AAC extendida 228 también recibe una información de número de bits 228d, que describe un número de bits disponibles para codificar el espectro representado por el vector 228a de magnitudes de valores espectrales. Por ejemplo, la información de número de bits 228d puede comprender una información de bits medios (designada con mean_bits) y una información de bits adicionales (designada con more_bits. El codificador de AAC extendida 228 también está configurado para recibir una información de banda de factores de escala 228e, que describe, por ejemplo, un número y anchura de las bandas de factores de escala.
[0032]El codificador de AAC extendido comprende un cuantificador de valores espectrales 310, que está configurado para proporcionar un vector 312 de valores cuantificados de líneas espectrales, que también se designa con x_quant (0..1023). El cuantificador de valores espectrales 310, que incluye un cambio de escala, también está configurado para proporcionar una información de factor de escala 314, que puede representar un factor de escala por cada banda de factores de escala y también una información de factor de escala común. Además, el cuantificador de valores espectrales 310 puede estar configurado para proporcionar una información de utilización de bits 316, que puede describir un número de bits utilizados para cuantificar el vector 228a de magnitudes de valores espectrales. Efectivamente, el cuantificador de valores espectrales 310 está configurado para cuantificar diferentes valores espectrales del vector 228a con diferentes exactitudes dependiendo de la relevancia psicoacústica de los diferentes valores espectrales. Para este propósito, el cuantificador de valores espectrales 210 cambia de escala de los valores espectrales del vector 228a utilizando diferentes factores de escala dependientes de la banda de factores de escala y cuantifica los valores espectrales cambiados de escala resultantes. Típicamente, los valores espectrales asociados con bandas de factores de escala importantes psicoacústicamente serán cambiados de escala con grandes factores de escala, de modo que los valores espectrales cambiados de escala de bandas de factores de escala importantes psicoacústicamente abarquen un gran intervalo de valores. En cambio, los valores espectrales de bandas de factores de escala menos importantes psicoacústicamente son cambiados de escala con factores de escala más pequeños, de modo que los valores espectrales cambiados de escala de las bandas de factores de escala menos importantes psicoacústicamente abarcan sólo un intervalo más de valores más pequeño. Los valores espectrales cambiados de escala se cuantifican entonces, por ejemplo, a un valor entero. En esta cuantificación, muchos de los valores espectrales cambiados de escala de las bandas de factores de escala menos importantes psicoacústicamente se cuantifican a cero, porque los valores espectrales de las bandas de factores de escala menos importantes psicoacústicamente se cambian de escala sólo con un factor de escala pequeño.
[0033]Como resultado, puede decirse que los valores espectrales de las bandas de factores de escala más relevantes psicoacústicamente se cuantifican con elevada exactitud (porque las líneas espectrales cambiadas de escala de dichas bandas de factores de escala más relevantes abarcan un gran intervalo de valores y, por lo tanto, muchas etapas de cuantificación), mientras que los valores espectrales de las bandas de factores de escala menos importantes psicoacústicamente se cuantifican con exactitud de cuantificación más baja (porque los valores espectrales cambiados de escala de las bandas de factores de escala menos importantes abarcan un intervalo de valores más pequeño y, por lo tanto, se cuantifican a etapas de cuantificación menos diferentes).
[0034]El cuantificador de valores espectrales 310 está configurado típicamente para determinar factores de cambio de escala apropiados utilizando el umbral de códec 228c y la información de número de bits 228d. Típicamente, el cuantificador de valores espectrales 310 también está configurado para determinar los factores de escala apropiados por sí mismo. Los detalles respecto a una posible implementación del cuantificador de valores espectrales 310 se describen en la norma ISO/IEC 14496-3: 2001, Capítulo 4.B.10. Además, la implementación del cuantificador de valores espectrales resulta bien conocida para un experto en la materia de la codificación MPEG4.
[0035]El codificador de AAC extendida 228 también comprende un calculador de error de cuantificación multibanda 330, que está configurado para recibir, por ejemplo, el vector 228a de magnitudes de valores espectrales, el vector 312 de valores cuantificados de líneas espectrales y la información de factor de escala 314. El calculador de error de cuantificación multibanda 330 está configurado, por ejemplo, para determinar una desviación entre una versión cambiada de escala no cuantificada de los valores espectrales del vector 228a (por ejemplo, cambada de escala utilizando una operación de cambio de escala no lineal y un factor de escala) y una versión cambiada de escala y cuantificada (por ejemplo, cambiada de escala utilizando una operación de cambio de escala no lineal y un factor de escala, y cuantificada utilizando una operación de redondeo a “entero”) de los valores espectrales. Además, el calculador de error de cuantificación multibanda 330 puede estar configurado para calcular un error medio de cuantificación sobre una pluralidad de bandas de factores de escala. Cabe destacar que el calculador de error de cuantificación multibanda 330 calcula preferentemente el error de cuantificación multibanda en un dominio cuantificado (más exactamente en un dominio cambiado de escala psicoacústicamente), de modo que se pone de relieve el peso de un error de cuantificación en bandas de factores de escala relevantes psicoacústicamente cuando se compara con un error de cuantificación en bandas de factores de escala menos relevantes psicoacústicamente. Los detalles respecto a la operación del calculador de error de cuantificación multibanda se describirán posteriormente haciendo referencia a las Figs.4a y 4b.
[0036]El codificador de AAC extendida 328 también comprende un adaptador de factor de escala 340, que está configurado para recibir el vector 312 de valores cuantificados, la información de factor de escala 314 y también la información de error de cuantificación multibanda 332, proporcionada por el calculador de error de cuantificación multibanda 340. El adaptador de factor de escala 340 está configurado para identificar bandas de factores de escala, que se “cuantifican a cero”, es decir, bandas de factores de escala para las cuales todos los valores espectrales (o líneas espectrales) se cuantifican a cero. Para tales bandas de factores de escala cuantificadas enteramente a cero, el adaptador de factor de escala 340 adapta el factor de escala respectivo. Por ejemplo, el adaptador de factor de escala 340 puede establecer el factor de escala de una banda de factores de escala cuantificada enteramente a cero en un valor que representa una relación entre una energía residual (antes de la cuantificación) de la banda de factores de escala respectiva y una energía del error de cuantificación multibanda 334. Por consiguiente, el adaptador de factor de escala 340 proporciona factores de escala adaptados 342. Cabe destacar que tanto los factores de escala proporcionados por el cuantificador de valores espectrales 310 como los factores de escala adaptados proporcionados por el adaptador de factor de escala se designan con “factor de escala (sb)”, “scf[band]”, “sf[g][sfb]”, “scf[g][sfb]” en la bibliografía y también dentro de esta solicitud. Los detalles respecto al funcionamiento del adaptador de factor de escala 340 se describirán posteriormente haciendo referencia a las Figs.4a y 4b.
[0037]El codificador de AAC extendida 228 también comprende una codificación sin ruido 350, que se explica, por ejemplo, en la norma ISO/IEC 14496-3: 2001, Capítulo 4.B.11. En resumen, la codificación sin ruido 350 recibe el vector de valores cuantificados de líneas espectrales (también designado como “valores cuantificados de los espectros”) 312, la representación entera 342 de los factores de escala (o bien proporcionada por el cuantificador de valores espectrales 310, o bien adaptada por el adaptador de factor de escala 340), y también un parámetro de relleno de ruido 332 (por ejemplo, en forma de una información de nivel de ruido) proporcionado por el calculador de error de cuantificación multibanda 330.
[0038]La codificación sin ruido 350 comprende una codificación de coeficientes espectrales 350a para codificar los valores cuantificados 312 de las líneas espectrales, y para proporcionar valores cuantificados y codificados 352 de las líneas espectrales. Los detalles respecto a la codificación de coeficientes espectrales se describen, por ejemplo, en las secciones 4.B.11.2, 4.B.11.3, 4.B.11.4 y 4.B.11.6 de la norma ISO/IEC 14496-3: 2001. La codificación sin ruido 350 también comprende una codificación de factor de escala 350b para codificar la representación entera 342 del factor de escala para obtener una información de factor de escala codificado 354. La codificación sin ruido 350 también comprende una codificación de parámetros de relleno de ruido 350c para codificar el uno o más parámetros de relleno de ruido 332, para obtener uno o más parámetros de relleno de ruido codificados 356. En consecuencia, el codificador de AAC extendida proporciona una información que describe los espectros cuantificados como codificados sin ruido, donde esta información comprende valores cuantificados y codificados de las líneas espectrales, información de factor de escala codificado e información de parámetros de relleno de ruido codificados.
[0039]En lo sucesivo, se describirá la funcionalidad del calculador de error de cuantificación multibanda 330 y del adaptador de factor de escala 340, que son componentes clave del codificador de AAC extendida inventivo 228, haciendo referencia a las Figs.4a y 4b. Para este propósito, la Fig.4a muestra un listado de programa de un algoritmo llevado a cabo por el calculador de error de cuantificación multibanda 330 y el adaptador de factor de escala 340.
[0040]Una primera parte del algoritmo, representada por las líneas 1 a 12 del pseudocódigo de la Fig. 4a, comprende un cálculo de un error medio de cuantificación, que se lleva a cabo por el calculador de error de cuantificación multibanda 330. El cálculo del error medio de cuantificación se lleva a cabo, por ejemplo, por todas las bandas de factores de escala, excepto aquellas que se cuantifican a cero. Si una banda de factores de escala está cuantificada enteramente a cero (es decir, todas las líneas espectrales de la banda de factores de escala se cuantifican a cero), dicha banda de factores de escala se omite para el cálculo del error medio de cuantificación. Si, sin embargo, una banda de factores de escala no se cuantifica enteramente a cero (es decir, comprende al menos una línea espectral, que no se cuantifica a cero), todas las líneas espectrales de dicha banda de factores de escala se consideran para el cálculo del error medio de cuantificación. El error medio de cuantificación se calcula en un dominio cuantificado (o, más exactamente, en un dominio cambiado de escala). El cálculo de una contribución al error promedio puede apreciarse en la línea 7 del pseudocódigo de la Fig.4a. En particular, la línea 7 muestra la contribución de una sola línea espectral al error promedio, donde el promediado se lleva a cabo por todas las líneas espectrales (donde nLines indica el número de líneas consideradas totales).
[0041]Como puede apreciarse en la línea 7 del pseudocódigo, la contribución de una línea espectral al error promedio es el valor absoluto (operador “fabs”) de una diferencia entre un valor de magnitud de línea espectral no cuantificada cambiada de escala y un valor de magnitud de línea espectral cuantificada cambiada de escala. En el valor de magnitud de línea espectral no cuantificada cambiada de escala, la “línea” de valor de magnitud (que puede ser igual a mdct_line) se cambia de escala de manera no lineal utilizando una función de potencia (pow(line, 0.75) = line<0,75>) y utilizando un factor de escala (por ejemplo, un factor de escala 314 proporcionado por el cuantificador de valores espectrales 310). En el cálculo del valor de magnitud de línea espectral cuantificada cambiada de escala, la “línea” de valor de magnitud de línea espectral puede cambiarse de escala de manera no lineal utilizando las funciones de potencia mencionadas anteriormente y cambiarse de escala utilizando el factor de escala mencionado anteriormente. El resultado de este cambio de escala no lineal y lineal puede cuantificarse utilizando un operador entero (“INT”). Utilizando el cálculo tal como se indica en la línea 7 del pseudocódigo, se considera el diferente impacto de la cuantificación sobre las bandas de frecuencias más importantes psicoacústicamente y las menos importantes psicoacústicamente.
[0042]Después del cálculo del error de cuantificación (promedio) multibanda (avgError), el error de cuantificación promedio puede cuantificarse opcionalmente, tal como se muestra en las líneas 13 y 14 del pseudocódigo. Cabe destacar que la cuantificación del error de cuantificación multibanda tal como aquí se muestra está adaptado específicamente al intervalo esperado de valores y las características estadísticas del error de cuantificación, de modo que el error de cuantificación puede representarse de manera eficiente en cuanto a bits. Sin embargo, pueden aplicarse otras cuantificaciones del error de cuantificación multibanda.
[0043]Una tercera parte del algoritmo, que se representa en las líneas 15 a 25, puede ser ejecutada por el adaptador de factor de escala 340. La tercera parte del algoritmo sirve para establecer factores de escala de bandas de frecuencias de factor de escala, que han sido cuantificadas enteramente a cero, en un valor bien definido, lo cual permite un relleno de ruido sencillo, lo cual lleva aparejada una buena impresión de audición. La tercera parte del algoritmo comprende opcionalmente una cuantificación inversa del nivel de ruido (por ejemplo, representada por el error de cuantificación multibanda 332). La tercera parte del algoritmo también comprende un cálculo de un valor de factor de escala de reemplazo para las bandas de factores de escala cuantificadas a cero (mientras que los factores de escala de las bandas de factores de escala no cuantificadas a cero se dejarán sin cambios). Por ejemplo, el valor de factor de escala de reemplazo para una cierta banda de factores de escala (“band”) se calcula utilizando la ecuación mostrada en la línea 20 del algoritmo de la Fig. 4a. En esta ecuación, “(INT)” representa un operador entero, “2.f” representa el número 2 en una representación en coma flotante, “log” designa un operador logarítmico, “energy” designa una energía de la banda de factores de escala en consideración (antes de la cuantificación), “(float)” designa un operador en coma flotante, “sfbWidth” designa una anchura de la cierta banda de factores de escala en términos de líneas espectrales (o segmentos espectrales), y “noiseVal” designa un valor de ruido que describe el error de cuantificación multibanda. En consecuencia, el factor de escala de reemplazo describe una relación entre una energía promedio por segmento de energía (energy/sfbWidth) de las ciertas bandas de factores de escala en consideración, y una energía (noiseVal<2>) del error de cuantificación multibanda.
1.2.3 Conclusión del codificador
[0044]Esta memoria descriptiva describe un codificador que tiene un nuevo tipo de cálculo de nivel de ruido. El nivel de ruido se calcula en el dominio cuantificado basándose en el error de cuantificación promedio.
[0045]Calcular el error de cuantificación en el dominio cuantificado lleva aparejadas ventajas significativas, por ejemplo, porque se considera la relevancia psicoacústica de diferentes bandas de frecuencias (bandas de factores de escala). El error de cuantificación por línea (es decir, por línea espectral, o segmento espectral) en el dominio cuantificado está típicamente en el intervalo [-0,5; 0,5] (nivel de cuantificación 1) con un error absoluto promedio de 0,25 (para valores de entrada de distribución normal que normalmente son mayores que 1). Utilizando un codificador, que proporciona información acerca de un error de cuantificación multibanda, las ventajas del relleno de ruido en el dominio cuantificado pueden aprovecharse en un codificador, tal como se describirá posteriormente.
[0046]El cálculo del nivel de ruido y la detección de sustitución de ruido en el codificador puede comprender las siguientes etapas:
• Detectar y marcar las bandas espectrales que pueden reproducirse perceptivamente equivalentes en el decodificador por sustitución de ruido. Por ejemplo, para este propósito puede comprobarse una tonalidad o una medición de planicidad espectral;
• Calcular y cuantificar el error medio de cuantificación (que puede calcularse por todas las bandas de factores de escala no cuantificadas a cero); y
• Calcular el factor de escala (scf) para una banda cuantificada a cero de modo que el ruido introducido (por el decodificador) coincida con la energía original.
[0047]Una cuantificación de nivel de ruido apropiada puede ayudar a producir el número de bits requeridos para transportar la información que describe el error de cuantificación multibanda. Por ejemplo, el nivel de ruido puede cuantificarse en 8 niveles de cuantificación en el dominio logarítmico, teniendo en cuenta la percepción humana de la sonoridad. Por ejemplo, puede utilizarse el algoritmo mostrado en la Fig.4b, donde “(INT)” designa un operador entero, donde “LD” designa una operación logarítmica para una base 2, y donde “meanLineError” designa un error de cuantificación por línea de frecuencia. “min(.,.)” designa un operador de valor mínimo, y “max(.,.)” designa un operador de valor máximo.
2. Decodificador
2.1. Decodificador según la Fig.5
[0048]La Fig.5 muestra un diagrama esquemático de bloques de un decodificador según una realización de la invención. El decodificador 500 está configurado para recibir una información de audio codificada, por ejemplo, en forma de un flujo de audio codificado 510, y para proporcionar, basándose en ello, una representación decodificada de la señal de audio, por ejemplo, basándose en componentes espectrales 522 de una primera banda de frecuencias y componentes espectrales 524 de una segunda banda de frecuencias. El decodificador 500 comprende un rellenador de ruido 520, que está configurado para recibir una representación 522 de componentes espectrales de una primera banda de frecuencias, a la cual se asocia información de ganancia de primera banda de frecuencias, y una representación 524 de componentes espectrales de una segunda banda de frecuencias, a la cual se asocia información de ganancia de segunda banda de frecuencias. Además, el rellenador de ruido 520 está configurado para recibir una representación 526 de un valor de intensidad de ruido multibanda. Además, el rellenador de ruido está configurado para introducir ruido en componentes espectrales (por ejemplo, en valores de líneas espectrales o valores de segmentos espectrales) de una pluralidad de bandas de frecuencias a las cuales se asocia información de ganancia de banda de frecuencias separada (por ejemplo, en forma de factores de escala) basándose en el valor de intensidad de ruido multibanda común 526. Por ejemplo, el rellenador de ruido 520 puede estar configurado para introducir ruido en los componentes espectrales 522 de la primera banda de frecuencias para obtener los componentes espectrales afectados por ruido 512 de la primera banda de frecuencias, y también para introducir ruido en los componentes espectrales 524 de la segunda banda de frecuencias para obtener los componentes espectrales afectados por ruido 514 de la segunda banda de frecuencias.
[0049]Así, comenzando desde una línea de comienzo de relleno de ruido, el decodificador está configurado para reemplazar cada línea espectral cuantificada a cero por un valor de reemplazo, que es un valor de ruido indicado, cuya magnitud se determina mediante el valor de intensidad de ruido multibanda, con un signo aleatorio, para realizar el relleno de ruido en un dominio cuantificado.
[0050]El decodificador está configurado para cambiar de escala el valor de reemplazo con un factor de escala transmitido para una banda de factores de escala real, para realizar un cambio de escala individual del ruido introducido en distintas bandas de frecuencias basándose en la información de ganancia de banda de frecuencia.
[0051]El rellenador de ruido está configurado para modificar selectivamente un valor de ganancia de banda de frecuencia de una banda de frecuencia dada utilizando un valor de desplazamiento de ruido si la banda de frecuencia dada está cuantificada a cero.
[0052]Aplicando el ruido descrito por un solo valor de intensidad de ruido multibanda 526 a componentes espectrales de diferentes bandas de frecuencias a las que se asocia información de ganancia de diferentes bandas de frecuencias, puede introducirse ruido en las diferentes bandas de frecuencias de manera muy afinada, teniendo en cuenta la diferente relevancia psicoacústica de una banda de frecuencias diferente, que se expresa por la información de ganancia de banda de frecuencias. Así, el decodificador 500 es capaz de llevar a cabo un relleno de ruido afinado basándose en una información colateral de relleno de ruido muy pequeña (eficiente en cuanto a bits).
[0053]En otras palabras, el decodificador se basa en el hallazgo de que puede aplicarse un único valor de intensidad de ruido multibanda para un relleno de ruido con buenos resultados si se asocia información de ganancia de banda de frecuencia separada a las distintas bandas de frecuencia. Por consiguiente, es posible un cambio de escala individual del ruido introducido en las distintas bandas de frecuencia basándose en la información de ganancia de banda de frecuencia.
2.2 Decodificador según la Fig.6
2.2.1 Descripción general del decodificador
[0054]La Fig. 6 muestra un diagrama esquemático de bloques de un decodificador 600 donde puede implementarse la invención.
[0055]El decodificador 600 es similar al decodificador descrito en la norma ISO/IEC 14496.3: 2005 (E), de modo que se hace referencia a esta norma internacional. El decodificador 600 está configurado para recibir un flujo de audio codificado 610 y para proporcionar, basándose en ello, señales de tiempo de salida 612. El flujo de audio codificado puede comprender alguna o toda la información descrita en la norma ISO/IEC 14496.3: 2005 (E), y comprende adicionalmente información que describe un valor de intensidad de ruido multibanda. El decodificador 600 comprende además un deformateador de carga útil de tren de bits 620, que está configurado para extraer del flujo de audio codificado 610 una pluralidad de parámetros de audio codificados, algunos de los cuales se explicarán en detalle en lo sucesivo. El decodificador 600 comprende además un decodificador de “codificación de audio avanzada” (AAC) extendida 630, cuya funcionalidad se describirá en detalle, haciendo referencia a las Figs.7a, 7b, 8a a 8c, 9, 10a, 10b, 11, 12, 13a y 13b. El decodificador de AAC extendida 630 está configurado para recibir una información de entrada 630a, que comprende, por ejemplo, una información de líneas espectrales cuantificadas y codificadas, una información de factor de escala codificado y una información de parámetros de relleno de ruido codificados. Por ejemplo, la información de entrada 630a del codificador de AAC extendida 630 puede ser idéntica a la información de salida 228b proporcionada por el codificador de AAC extendida 220a descrita con referencia a la Fig.2.
[0056]El decodificador de AAC extendida 630 puede estar configurado para proporcionar, basándose en la información de entrada 630a, una representación 630b de un espectro cambiado de escala y cuantificado inversamente, por ejemplo, en forma de valores de líneas espectrales cambiadas de escala, cuantificadas inversamente para una pluralidad de segmentos de frecuencia (por ejemplo, para 1024 segmentos de frecuencia).
[0057]Opcionalmente, el decodificador 600 puede comprender decodificadores de espectro adicionales, como, por ejemplo, un decodificador de espectro TwinVQ y/o un decodificador de espectro BSAC, que pueden utilizarse alternativamente al decodificador de espectro de AAC extendida 630 en algunos casos.
[0058]El decodificador 600 puede comprender opcionalmente un procesamiento de espectro 640, que está configurado para procesar la información de salida 630b del decodificador de AAC extendida 630 con el fin de obtener una información de entrada 640a de una conmutación de bloques/banco de filtros 640. El procesamiento espectral opcional 630 puede comprender una o más, o incluso todas las funcionalidades M/S, PNS, predicción, intensidad, predicción a largo plazo, acoplamiento conmutado dependientemente, TNS, acoplamiento conmutado dependientemente, funcionalidades que se describen en detalle en la norma ISO/IEC 14493.3: 2005 (E) y los documentos a los que se hace referencia en la misma. Si, sin embargo, se omite el procesamiento espectral 630, la información de salida 630b del decodificador de AAC extendida 630 puede servir directamente como información de entrada 640a de la conmutación de bloques/banco de filtros 640. Así, el decodificador de AAC extendida 630 puede proporcionar, como la información de salida 630b, espectros cambiados de escala y cuantificados inversamente. La conmutación de bloques/banco de filtros 640 utiliza, como la información de entrada 640a, los espectros cuantificados inversamente (opcionalmente preprocesados) y proporciona, basándose en ello, una o más señales de audio reconstruidas en el dominio del tiempo como información de salida 640b. El banco de filtros/conmutación de bloques puede, por ejemplo, estar configurado para aplicar la inversa de la correspondencia de frecuencia que se llevó a cabo en el codificador (por ejemplo, en la conmutación de bloques/banco de filtros 224). Por ejemplo, puede utilizarse una transformada inversa del coseno discreta modificada (IMDCT) por el banco de filtros. Por ejemplo, la IMDCT puede estar configurada para soportar o bien un conjunto de 120, 128, 480, 512, 960 o 1024, o bien cuatro conjuntos de 32 o 256 coeficientes espectrales.
[0059]Para obtener detalles, se hace referencia, por ejemplo, a la Norma Internacional ISO/IEC 14496-3: 2005 (E). El decodificador 600 puede comprender además opcionalmente un control de ganancia de AAC 650, un decodificador de SBR 652 y un acoplamiento conmutado independientemente 654, para obtener la señal de tiempo de salida 612 a partir de la señal de salida 640b de la conmutación de bloques/banco de filtros 640.
[0060]Sin embargo, la señal de salida 640b de la conmutación de bloques/banco de filtros 640 también puede servir como la señal de tiempo de salida 612 en ausencia de la funcionalidad 650, 652, 654.
2.2.2 Detalles del decodificador de AAC extendida
[0061]En lo sucesivo, se describirán detalles respecto al decodificador de AAC extendida, haciendo referencia a las Figs.7a y 7b. Las Figs.7a y 7b muestran un diagrama esquemático de bloques del decodificador de AAC de la Fig.6 en combinación con el deformateador de carga útil de tren de bits 620 de la Fig.6.
[0062]El deformateador de carga útil de flujo de bits 620 recibe un flujo de audio decodificado 610, que puede comprender, por ejemplo, un flujo de datos de audio codificado que comprende un elemento de sintaxis con el título “ac_raw_data_block”, que es un bloque de datos sin procesar del codificador de audio. Sin embargo, el formateador de carga útil de tren de bits 620 está configurado para proporcionar al decodificador de AAC extendida 630 un espectro cuantificado y codificado sin ruido o una representación, que comprende una información de líneas espectrales cuantificadas y codificadas aritméticamente 630aa (por ejemplo, designada como ac_spectral_data), una información de factor de escala 630ab (por ejemplo, designada como scale_factor_data) y una información de parámetros de relleno de ruido 630ac. La información de parámetros de relleno de ruido 630ac comprende, por ejemplo, un valor de compensación de ruido (designado como noise_offset) y un valor de nivel de ruido (designado como noise_level).
[0063]Con respecto al decodificador de AAC extendida, cabe destacar que el decodificador de AAC extendida 630 es muy similar al decodificador de AAC de la Norma Internacional ISO/IEC 19496–3: 2005 (E), de modo que se hace referencia a la descripción detallada en dicha Norma.
[0064]El decodificador de AAC extendida 630 comprende un decodificador de factor de escala 740 (también designado como herramienta de decodificación sin ruido de factor de escala) que está configurado para recibir la información de factor de escala 630ab y para proporcionar, basándose en ello, una representación entera decodificada 742 de los factores de escala (la cual también se designa como sf[g] [sfb] o scf[g] [sfb]). Con respecto al decodificador de factor de escala 740, se hace referencia a la norma ISO/IEC 14496–3: 2005, Capítulos 4.6.2 y 4.6.3. Cabe destacar que la representación entera decodificada 742 de los factores de escala refleja una exactitud de cuantificación con la cual se cuantifican diferentes bandas de frecuencias (también designadas como bandas de factores de escala) de una señal de audio. Los factores de escala más grandes indican que las bandas de factores de escala correspondientes se han cuantificado con una exactitud elevada, y los factores de escala más pequeños indican que las bandas de factores de escala correspondientes se han cuantificado con exactitud baja.
[0065]El decodificador de AAC extendida 630 también comprende un decodificador espectral 750 que está configurado para recibir la información de líneas espectrales cuantificadas y codificadas por entropía (por ejemplo, codificadas según Huffman o codificadas aritméticamente) 630aa y para proporcionar, basándose en ello, valores cuantificados 752 del uno o más espectros (por ejemplo, designados como x_ac_quant o x_quant). Con respecto al decodificador espectral, se hace referencia, por ejemplo, a la sección 4.6.3 de la Norma Internacional anteriormente mencionada. Sin embargo, se pueden aplicar naturalmente implementaciones alternativas del decodificador espectral. Por ejemplo, el decodificador Huffman de la norma ISO/IEC 14496–3: 2005 puede ser reemplazado por un decodificador aritmético si la información de líneas espectrales 630aa se codifica aritméticamente.
[0066]El decodificador de AAC extendida 630 comprende además un cuantificador inverso 760, que puede ser un cuantificador inverso no uniforme. Por ejemplo, el cuantificador inverso 760 puede proporcionar valores espectrales cuantificados inversamente no cambiados de escala 762 (por ejemplo, designados con x_ac_invquant o x_invquant). Por ejemplo, el cuantificador inverso 760 puede comprender la funcionalidad descrita en la norma ISO/IEC 14496–3: 2005, Capítulo 4.6.2. Alternativamente, el cuantificador inverso 760 puede comprender la funcionalidad descrita con referencia a las Figs.8a a 8c.
[0067]El decodificador de AAC extendida 630 también comprende un rellenador de ruido 770 (también designado como herramienta de relleno de ruido), el cual recibe la representación entera decodificada 742 de los factores de escala procedente del decodificador de factor de escala 740, los valores espectrales cuantificados inversamente sin cambiar de escala 762 procedentes del cuantificador inverso 760 y la información de parámetros de relleno de ruido 630ac procedente del deformateador de carga útil de tren de bits 620. El rellenador de ruido está configurado para proporcionar, basándose en ello, la representación modificada (típicamente entera) 772 de los factores de escala, la cual también está designada en esta invención con sf[g] [sfb] o scf[g] [sfb]. El rellenador de ruido 770 también está configurado para proporcionar valores espectrales cuantificados inversamente no cambiados de escala 774, también designados como x_ac_invquant o x_invquant basándose en su información de entrada. Los detalles con respecto a la funcionalidad del rellenador de ruido se describirán posteriormente, haciendo referencia a las Figs.9, 10a, 10b, 11, 12, 13a y 13b.
[0068]El decodificador de AAC extendida 630 también comprende un medio de reajuste de escala 780, que está configurado para recibir la representación entera modificada de los factores de escala 772 y los valores espectrales cuantificados inversamente no cambiados de escala 774, y para proporcionar, basándose en ello, valores espectrales cuantificados inversamente cambiados de escala 782, que también pueden designarse como x_rescal, y los cuales pueden servir como la información de salida 630b del decodificador de AAC extendida 630. El medio de reajuste de escala 780 puede comprender, por ejemplo, la funcionalidad que se describe en la norma ISO/IEC 14496– 3: 2005, Capítulo 4.6.2.3.3.
2.2.3. Cuantificador inverso
[0069]En lo sucesivo, se describirá la funcionalidad del cuantificador inverso 760, haciendo referencia a las Figs. 8a, 8b, y 8c. La Fig. 8a muestra una representación de una ecuación para obtener los valores espectrales cuantificados inversamente no cambiados de escala 762 a partir de los valores espectrales cuantificados 752. En las ecuaciones alternativas de la Fig. 8a, “sign(.)” designa un operador de signo, y “.” designa un operador de valor absoluto. La Fig.8b muestra un pseudocódigo de programa que representa la funcionalidad del cuantificador inverso 760. Como puede apreciarse, se lleva a cabo la cuantificación inversa según la regla de correspondencia matemática mostrada en la Fig. 8a para todos los grupos de ventanas (designados por la variable en curso g), para todas las bandas de factores de escala (designadas por la variable en curso sfb), para todas las ventanas (designadas por el índice en curso win) y todas las líneas espectrales (o segmentos espectrales) (designadas por la variable en curso bin). La Fig. 8c muestra una representación de diagrama de flujo del algoritmo de la Fig. 8b. Para las bandas de factores de escala por debajo de una banda de factores de escala máxima predeterminada (designada con max_sfb), se obtienen los valores espectrales cuantificados inversamente no cambiados de escala como una función de los valores espectrales cuantificados no cambiados de escala. Se aplica una regla de cuantificación inversa no lineal. 2.2.4 Rellenador de ruido
2.2.4.1 Rellenador de ruido según las Figs.9 a 12
[0070]La Fig.9 muestra un diagrama de bloques esquemático de un rellenador de ruido 900. El rellenador de ruido 900 puede, por ejemplo, ocupar el lugar del rellenador de ruido 770 descrito con referencia a las Figs.7A y 7B.
[0071]El rellenador de ruido 900 recibe la representación entera decodificada 742 de los factores de escala, que pueden considerarse como valores de ganancia de banda de frecuencias. El rellenador de ruido 900 también recibe los valores espectrales cuantificados inversamente no cambiados de escala 762. Además, el rellenador de ruido 900 recibe la información de parámetros de relleno de ruido 630ac, que comprende, por ejemplo, los parámetros de relleno de ruido noise_value y noise_offset. Además, el rellenador de ruido 900 proporciona la representación entera modificada 772 de los factores de escala y los valores espectrales cuantificados inversamente no cambiados de escala 774. El rellenador de ruido 900 comprende un detector de líneas espectrales cuantificadas a cero 910, que está configurado para determinar si una línea espectral (o segmento espectral) está cuantificada a cero (y posiblemente cumple requisitos de relleno de ruido adicionales). Para este propósito, el detector de líneas espectrales cuantificadas a cero 910 recibe directamente los espectros cuantificados inversamente no cambiados de escala 762 como información de entrada. El rellenador de ruido 900 comprende además un dispositivo de reemplazo selectivo de líneas espectrales 920, que está configurado para reemplazar selectivamente los valores espectrales de la información de entrada 762 por los valores de reemplazo de líneas espectrales 922 dependiendo de la decisión del detector de líneas espectrales cuantificadas a cero 910. De ese modo, el detector de líneas espectrales cuantificadas a cero 910 indica que una cierta línea espectral de la información de entrada 762 debería ser reemplazada por un valor de reemplazo, entonces el dispositivo de reemplazo selectivo de líneas espectrales 920 reemplaza la cierta línea espectral con el valor de reemplazo de las líneas espectrales 922 para obtener la información de salida 774. Si no, el dispositivo de reemplazo selectivo de líneas espectrales 920 transmite el valor de la cierta línea espectral sin cambio para obtener la información de salida 774. El rellenador de ruido 900 también comprende un modificador selectivo de factores de escala 930, que está configurado para modificar selectivamente los factores de escala de la información de entrada 742. Por ejemplo, el modificador selectivo de factores de escala 930 está configurado para incrementar los factores de escala de las bandas de frecuencias de factores de escala, que han sido cuantificadas a cero por un valor predeterminado, que se designa como “noise_offset”. De ese modo en la información de salida 772, los factores de escala de las bandas de frecuencias cuantificadas a cero se incrementan en comparación con los valores de factores de escala correspondientes dentro de la información de entrada 742. En cambio, los valores de factores de escala correspondientes de las bandas de frecuencias de factores de escala, que no se cuantifican a cero, son idénticos en la información de entrada 742 y en la información de salida 772.
[0072]Para determinar si una banda de frecuencias de factores de escala está cuantificada a cero, el rellenador de ruido 900 también comprende un detector de bandas cuantificadas a cero 940, que está configurado para controlar el modificador selectivo de factores de escala 930 proporcionando una señal o un indicador de “permitir modificación de factores de escala” 942 basándose en la información de entrada 762. Por ejemplo, el detector de bandas cuantificadas a cero 940 puede proporcionar una señal o un indicador que indica la necesidad de un incremento de un factor de escala al modificador selectivo de factores de escala 930 si todos los segmentos de frecuencia (también designadas como segmentos espectrales) de una banda de factores de escala están cuantificados a cero.
[0073]Cabe destacar aquí que el modificador selectivo de factores de escala también puede adoptar la forma de un dispositivo de reemplazo selectivo de factores de escala, que está configurado para establecer los factores de escala de las bandas de factores de escala cuantificadas enteramente a cero en un valor predeterminado, independientemente de la información de entrada 742.
[0074]En lo sucesivo, se describirá un medio de reajuste de escala 950, que puede adoptar la función del medio de reajuste de escala 780. El medio de reajuste de escala 950 está configurado para recibir la representación entera modificada 772 de los factores de escala proporcionados por el rellenador de ruido y también para los valores espectrales cuantificados inversamente no cambiados de escala 774 proporcionados por el rellenador de ruido. El medio de reajuste de escala 950 comprende un computador de ganancia de factores de escala 960, que está configurado para recibir una representación entera del factor de escala por banda de factores de escala y para proporcionar un valor de ganancia por banda de factores de escala. Por ejemplo, el computador de ganancia de factores de escala 960 puede estar configurada para calcular un valor de ganancia 962 para una banda de frecuencias i–ésima basándose en una representación entera modificada 772 del factor de escala para la banda de factores de escala i-ésima. De ese modo, el computador de ganancia de los factores de escala 960 proporciona valores de ganancia individuales para las diferentes bandas de factores de escala. El medio de reajuste de escala 950 también comprende un multiplicador 970, que está configurado para recibir los valores de ganancia 962 y los valores espectrales cuantificados inversamente no cambiados de escala 774. Cabe destacar que cada uno de los valores espectrales cuantificados inversamente no cambiados de escala 774 está asociado con una banda de frecuencias de factores de escala (sfb). Por consiguiente, el multiplicador 970 está configurado para cambiar la escala de cada uno de los valores espectrales cuantificados inversamente no cambiados de escala 774 con un valor de ganancia correspondiente asociado con la misma banda de factores de escala. En otras palabras, todos los valores espectrales cuantificados inversamente no cambiados de escala 774 asociados con una banda de factores de escala dada se cambian de escala con el valor de ganancia asociado con la banda de factores de escala dada. Por consiguiente, los valores espectrales cuantificados inversamente no cambiados de escala asociados con bandas de factores de escala diferentes se cambian de escala típicamente con diferentes valores de ganancia asociados con diferentes bandas de factores de escala.
[0075]De este modo, los diferentes valores espectrales cuantificados inversamente no cambiados de escala se cambian de escala con diferentes valores de ganancia, dependiendo de a qué bandas de factores de escala están asociados.
Representación de pseudocódigo de programa
[0076]En lo sucesivo, se describirá la funcionalidad del rellenador de ruido 900 haciendo referencia a las Figs.
10A y 10B, las cuales muestran una representación de pseudocódigo de programa (Fig. 10A) y una leyenda correspondiente (Fig.10B). Los comentarios empiezan con “- -“.
[0077]El algoritmo de relleno de ruido representado por el listado del pseudocódigo de programa de la Fig.10 comprende una primera parte (líneas 1 a 8) para obtener un valor de ruido (noiseVal) a partir de una representación de nivel de ruido (noise_level). Además, se obtiene una compensación de ruido (noise_offset). La obtención del valor de ruido a partir del nivel de ruido comprende un cambio de escala no lineal, donde el valor de ruido se calcula según:
[0078]Además, se lleva a cabo un desplazamiento de intervalo del valor de compensación de ruido de modo que el valor de compensación de ruido de intervalo desplazado puede adoptar valores positivos y negativos.
[0079]Una segunda parte del algoritmo (líneas 9 a 29) es responsable del reemplazo selectivo de los valores espectrales cuantificados inversamente no cambiados de escala con valores de reemplazo de líneas espectrales y de una modificación selectiva de los factores de escala. Tal como se puede apreciarse a partir del pseudocódigo de programa, el algoritmo puede ejecutarse para todos los grupos de ventanas disponibles (bucle “for” de las líneas 9 a 29). Además, se pueden procesar todas las bandas de factores de escala entre cero y una banda de factores de escala máxima (max_sfb) aun cuando el procesamiento puede ser diferente para diferentes bandas de factores de ajuste (bucle “for” entre las líneas 10 a 28). Un aspecto importante es el hecho de que se supone generalmente que una banda de factores de escala se cuantifica a cero a menos que se descubra que la banda de factores de escala no está cuantificada a cero (consúltese la línea 11). Sin embargo, la verificación de si una banda de factores de escala está cuantificada a cero o no se ejecuta sólo para las bandas de factores de escala, de lo cual una línea de frecuencia de comienzo (swb_offset[sfb]) está por encima de un índice de coeficiente espectral predeterminado (noiseFillingStartOffset). Una rutina condicional entre las líneas 13 y 24 se ejecuta sólo si un índice de los coeficientes espectrales más bajos de una banda de factores de escala sfb es mayor que la compensación de comienzo de relleno de ruido. En cambio, para cualquier banda de factores de escala para la cual un índice del coeficiente espectral más bajo (swb_offset[sfb]) es menor o igual que un valor predeterminado (noiseFillingStartOffset), se supone que las bandas no están cuantificadas a cero, independientemente de los valores reales de las líneas espectrales (véanse las líneas 24a, 24b y 24c).
[0080]Sin embargo, si el índice de los coeficientes espectrales más bajos de una cierta banda de factores de escala es mayor que el valor predeterminado (noiseFillingStartOffset), entonces se considera que la cierta banda de factores de escala está cuantificada a cero sólo si todas las líneas espectrales de la cierta banda de factores de escala están cuantificadas a cero (se restablece el indicador “band_quantized_to_zero” mediante el bucle “for” entre las líneas 15 y 22 si un solo segmento espectral de la banda de factores de escala no está cuantificado a cero.
[0081]En consecuencia, un factor de escala de una banda de factores de escala dada se modifica utilizando de la compensación de ruido si el indicador “band_quantized_to_zero”, que se establece inicialmente por defecto (línea 11) no se borra durante la ejecución del código de programa entre las líneas 12 y 24. Tal como se menciona anteriormente, un restablecimiento del indicador sólo puede producirse para las bandas de factores de escala para las cuales un índice del coeficiente espectral más bajo está por encima del valor predeterminado (noiseFillingStartOffset). Además, el algoritmo de la Fig. 10A comprende un reemplazo de valores de líneas espectrales con valores de reemplazo de líneas espectrales si la línea espectral está cuantificada a cero (condición de la línea 16 y operación de reemplazo de la línea 17). Sin embargo, dicho reemplazo sólo se lleva a cabo para las bandas de factores de escala para las cuales un índice de los coeficientes espectrales más bajos está por encima del valor predeterminado (noiseFillingStartOffset). Para las bandas de frecuencias espectral más baja, se omite el reemplazo de los valores espectrales cuantificados a cero con los valores espectrales de reemplazo.
[0082]Además, cabe destacar que los valores de reemplazo podrían calcularse de una manera sencilla porque se añade un signo aleatorio o pseudoaleatorio al valor de ruido (noiseVal) calculado en la primera parte del algoritmo (consúltese la línea 17).
[0083]Cabe destacar que la Fig. 10B muestra una leyenda de los símbolos relevantes utilizados en el pseudocódigo de programa de la Fig.10A para facilitar una mejor comprensión del pseudocódigo de programa.
[0084]Aspectos importantes de la funcionalidad del rellenador de ruido se ilustran en la Fig. 11. Tal como puede apreciarse, la funcionalidad del rellenador de ruido comprende opcionalmente calcular 1110 un valor de ruido basándose en el nivel de ruido. La funcionalidad del rellenador de ruido comprende también el reemplazo 1120 de valores de líneas espectrales de las líneas espectrales cuantificadas a cero con valores de reemplazo de líneas espectrales dependiendo del valor de ruido para obtener valores de líneas espectrales reemplazados. Sin embargo, el reemplazo 1120 sólo se lleva a cabo para las bandas de factores de escala que tienen un coeficiente espectral más bajo por encima de un índice de coeficiente espectral predeterminado.
[0085]La funcionalidad del rellenador de ruido también comprende modificar 1130 un factor de escala de bandas dependiendo del valor de compensación de ruido, si, y sólo si la banda de factores de escala está cuantificada a cero. Sin embargo, la modificación 1130 se ejecuta de esa forma para las bandas de factores de escala que tienen un coeficiente espectral más bajo por encima del índice de coeficiente espectral predeterminado.
[0086]El rellenador de ruido también comprende una funcionalidad de dejar 1140 sin cambio a los factores de escala de bandas, independiente de si la banda de factores de escala está cuantificada a cero, para las bandas de factores de escala que tienen un coeficiente espectral más bajo por debajo del índice de coeficiente espectral predeterminado.
[0087]Además, el medio de reajuste de escala comprende una funcionalidad 1150 de aplicar los factores de escala de bandas no modificadas o modificadas (cualquiera que esté disponible) a los valores de líneas espectrales no reemplazados o reemplazados (cualquiera que esté disponible), para obtener espectros cambiados de escala y cuantificados inversamente.
[0088]La Fig. 12 muestra una representación esquemática del concepto descrito con referencia a las Figs.
10A, 10B y 11. En particular, las diferentes funcionalidades se representan dependiendo de un segmento de comienzo de bandas de factores de escala.
2.2.4.2 Rellenador de ruido según las Figs.13A y 13B
[0089]Las Figs. 13A y 13B muestran listados de pseudocódigos de programa de algoritmos, que pueden llevarse a cabo en una implementación alternativa del rellenador de ruido 770. La Fig.13A describe un algoritmo para obtener un valor de ruido (para uso dentro del rellenador de ruido) a partir de una información de nivel de ruido, que puede representarse por la información de parámetros de relleno de ruido 630ac.
[0090]Como el error medio de cuantificación es aproximadamente 0,25 en la mayoría de los casos, el intervalo de noiseVal [0, 0,5] es bastante grande y puede ser optimizado.
[0091]La Fig. 13B representa un algoritmo, que puede estar formado por el rellenador de ruido 770. El algoritmo de la Fig. 13B comprende una primera porción de determinación del valor de ruido (designado con noiseValue” o “noiseVal” - líneas 1 a 4). Una segunda porción del algoritmo comprende una modificación selectiva de un factor de escala (líneas 7 a 9) y un reemplazo selectivo de valores de líneas espectrales por valores de reemplazo de líneas espectrales (líneas 10 a 14).
[0092]Sin embargo, según el algoritmo de la Fig. 13B, el factor de escala (scf) se modifica utilizando la compensación de ruido (noise_offset) siempre y cuando una banda esté cuantificada a cero (véase la línea 7). En esta realización no se hacen diferencias entre las bandas de frecuencias más bajas y las bandas de frecuencias más altas.
[0093]Además, se introduce ruido en las líneas espectrales cuantificadas a cero sólo para las bandas de frecuencias más altas (si la línea está por encima de un cierto umbral predeterminado “noiseFillingStartOffset”). 2.2.5. Conclusión del decodificador
[0094]Para resumir, las realizaciones del decodificador según la presente invención comprenden las siguientes características:
• Comenzando desde una “línea de comienzo de relleno de ruido” (que puede ser una compensación fija o una línea que representa una frecuencia de comienzo) se debe reemplazar cada 0 con un valor de reemplazo; y
• el valor de reemplazo es el valor de ruido indicado (con un signo aleatorio) en el dominio cuantificado y luego se cambia la escala de este “valor de reemplazo” con el factor de escala “scf” transmitido para la banda de factores de escala real. Además,
• los valores de reemplazo “aleatorios” también pueden obtenerse a partir de, por ejemplo, una distribución de ruido o un conjunto de valores alternativos ponderados con el nivel de ruido señalado.
3. Flujo de audio
3.1 Flujo de audio según las Figs.14A y 14B
[0095]En lo sucesivo, se describirá un flujo de audio que puede utilizarse en relación con realizaciones de la invención. En lo que sigue, se describirá una denominada “carga útil de tren de bits usac”. La “carga útil de tren de bits usac” transporta información de carga útil para representar uno o más canales individuales (carga útil: “single_channel_element ()) y/o uno o más pares de canales (channel_pair_element ()) tal como puede apreciarse en la Fig. 14A. Una información de canal individual (single_channel_element ()) comprende, entre otra información opcional, un flujo de canal en el dominio de la frecuencia (fd_channel_stream), tal como puede apreciarse en la Figura 14B.
[0096]Una información de pares de canales (channel_pair_element) comprende, además de elementos adicionales, una pluralidad de, por ejemplo, dos flujos de canales en el dominio de la frecuencia (fd_channel_stream), tal como puede apreciarse en la Fig.14C.
[0097]El contenido de datos de un flujo de canal en el dominio de la frecuencia puede, por ejemplo, depender de si se utiliza o no un relleno de ruido (lo cual se puede señalar en una porción de datos de señalización que no se muestra aquí). En lo sucesivo, se supondrá que se utiliza un relleno de ruido. En este caso, el flujo de canal en el dominio de la frecuencia comprende, por ejemplo, los elementos de datos mostrados en la Fig. 14D. Por ejemplo, puede estar presente una información de ganancia global (global_gain), tal como se define en la norma ISO/IEC 14496–3: 2005. Por otra parte, el flujo de canal en el dominio de la frecuencia puede comprender una información de compensación de ruido (noise_offset) y una información de nivel de ruido (noise_level), tal como se describe en esta invención. Por ejemplo, la información de compensación de ruido puede codificarse utilizando 3 bits y la información de nivel de ruido puede codificarse utilizando, por ejemplo, 5 bits.
[0098]Además, el flujo de canal en el dominio de la frecuencia puede comprender una información de factor de escala codificado (un scale_factor_data ()) y datos espectrales codificados aritméticamente (AC_spectral_data ()), tal como se describen en esta invención y también como se definen en la norma ISO/IEC 14496–3.
[0099]Opcionalmente, el flujo de canal en el dominio de la frecuencia también comprende datos de conformación de ruido temporal (tns_data) ()), tal como se define en la norma ISO/IEC 14496–3.
[0100]Naturalmente, el flujo de canal en el dominio de la frecuencia puede comprender otra información, si es necesario.
3.2 Flujo de audio según la Fig.15
[0101]La Fig.15 muestra una representación esquemática de la sintaxis de un flujo de canal que representa un canal individual (individual_channel_stream ()).
[0102]El flujo de canal individual puede comprender una información de ganancia global (global_gain) codificada utilizando, por ejemplo, 8 bits, información de compensación de ruido (noise_offset) codificada utilizando, por ejemplo, 5 bits y una información de nivel de ruido (noise_level) codificada utilizando, por ejemplo, 3 bits.
[0103]El flujo de canal individual comprende además datos de sección (section_data ()), datos de factor de escala (scale_factor ()) y datos espectrales (spectral_data ()).
[0104]Además, el flujo de canal individual puede comprender información opcional individual, tal como puede apreciarse en la Fig.15.
3.3 Conclusión de flujo de audio
[0105]Para resumir, se describe un tren de bits donde se utilizan los siguientes elementos de sintaxis de tren de bits:
• Un valor que indica una compensación de factores de escala de ruido para optimizar los bits necesarios para transmitir los factores de escala;
• un valor que indica el nivel de ruido; y/o
• un valor opcional para escoger entre diferentes formas para la sustitución de ruido (ruido distribuido uniforme en lugar de valores constantes o múltiples niveles discretos en lugar de sólo uno).
4. Conclusión
[0106]En la codificación de baja velocidad binaria, puede utilizarse relleno de ruido para dos propósitos: • Una cuantificación gruesa de los valores espectrales en una codificación de audio de baja velocidad binaria podría conducir a espectros muy dispersos después de la cuantificación inversa, ya que muchas líneas espectrales podrían haber sido cuantificadas a cero. Los espectros de ocupación dispersa tendrán como resultado que la señal decodificada suene aguda o inestable (señales espurias). Reemplazando las líneas cuantificadas a cero con valores “pequeños” en el decodificador, es posible enmascarar o reducir estos artefactos muy obvios sin añadir nuevos artefactos de ruido obvios.
• Si en el espectro original hay partes de la señal similares a ruido, se puede reproducir en el decodificador una representación perceptivamente equivalente de estas partes de señal ruidosa basándose sólo en una información paramétrica pequeña, como la energía de la parte de señal ruidosa. La información paramétrica puede transmitirse con menos bits en comparación con el número de bits necesarios para transmitir la forma de onda codificada.
[0107]El esquema de codificación de relleno de ruido que se acaba de proponer descrito en esta invención combina eficientemente los propósitos anteriores en una única aplicación.
[0108]Como comparación, en el audio MPEG-4, se utiliza la sustitución de ruido perceptivo (PNS) sólo para transmitir una información paramétrica de las partes de señal de tipo ruido y para reproducir estas partes de señal de manera perceptivamente equivalente en el decodificador.
[0109]Como comparación adicional, en AMR-WB+, los vectores de cuantificación de vector (vectores VQ) cuantificados a cero se reemplazan por un vector de ruido aleatorio donde cada valor espectral complejo tiene amplitud constante, pero fase aleatoria. La amplitud se controla por un valor de ruido transmitido con el tren de bits.
[0110]Sin embargo, los conceptos de comparación tienen desventajas significativas. La PNS sólo puede utilizarse para rellenar bandas de factores de escala completas, mientras el AMR–WB+ sólo intenta enmascarar los artefactos en la señal decodificada que resultan de partes grandes de la señal que están cuantificadas a cero. En cambio, el esquema de codificación de relleno de ruido propuesto combina eficientemente ambos aspectos del relleno de ruido en una única aplicación.
[0111]Según un aspecto, la presente invención comprende una nueva forma de cálculo de nivel de ruido. El nivel de ruido se calcula en el dominio cuantificado basándose en el error de cuantificación promedio.
[0112]El error de cuantificación en el dominio cuantificado difiere de otras formas de error de cuantificación. El error de cuantificación por línea en el dominio cuantificado está en el intervalo de [–0,5; 0,5] (nivel de cuantificación 1) con un error absoluto promedio de 0,25 (para valores de entrada de distribución normal que normalmente son mayores que 1).
[0113]En lo sucesivo, se resumirán algunas ventajas del relleno de ruido en el dominio cuantificado. La ventaja de añadir ruido en el dominio cuantificado es el hecho de que el ruido añadido en el decodificador se cambia de escala, no sólo con la energía promedio en una banda dada, sino también la relevancia psicoacústica de una banda.
[0114]Normalmente, las bandas (tonales) más relevantes perceptivamente serán las bandas cuantificadas con más exactitud, lo que significa que en estas bandas se utilizarán múltiples niveles de cuantificación (valores cuantificados mayores que 1). Ahora, añadir ruido con un nivel del error de cuantificación promedio tendrá sólo una influencia muy limitada sobre la percepción de tal banda.
[0115]Las bandas que no son perceptivamente tan importantes o más similares a ruido, pueden ser cuantificadas con un menor número de niveles de cuantificación. Aunque se cuantificarán a cero muchas más líneas de la banda, el error de cuantificación promedio resultante será el mismo que para las bandas finamente cuantificadas (suponiendo un error de cuantificación de distribución normal en ambas bandas), mientras que el error relativo en la banda puede ser mucho más alto.
[0116]En estas bandas cuantificadas de manera gruesa, el relleno de ruido ayudará a enmascarar perceptivamente los artefactos que resultan de los agujeros espectrales debidos a la cuantificación gruesa.
[0117]Puede alcanzarse una consideración del relleno de ruido en el dominio cuantificado mediante el codificador descrito anteriormente y también mediante el decodificador descrito anteriormente.
5. Implementaciones alternativas
[0118]Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede llevarse a cabo utilizando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tienen señales de control legibles electrónicamente almacenadas en los mismos, que cooperan (o son capaces de cooperar) con un sistema informático programable de modo que se lleva a cabo el procedimiento respectivo.
Claims (1)
1.Un decodificador (500; 600) para proporcionar una representación decodificada (512, 514; 630b) de una señal de audio basándose en un flujo de audio codificado (510; 610) que representa componentes espectrales de bandas de frecuencias de la señal de audio y un valor de intensidad de ruido multibanda (526), comprendiendo el decodificador:
un rellenador de ruido (520; 770) configurado para introducir ruido en los componentes espectrales de una pluralidad de bandas de frecuencias, a las que se asocia información de ganancia de banda de frecuencia separada, en particular factores de escala, basándose en un valor de intensidad de ruido multibanda común (526), y
donde comenzando desde una línea de comienzo de relleno de ruido, cada línea espectral cuantificada a cero es reemplazada por un valor de reemplazo, que es un valor de ruido indicado, cuya magnitud se determina mediante el valor de intensidad de ruido multibanda, con un signo aleatorio, para realizar un relleno de ruido en un dominio cuantificado;
donde el decodificador está configurado para cambiar de escala un valor de reemplazo con un factor de escala transmitido para una banda de factores de escala real,
para realizar un cambio de escala individual del ruido introducido en distintas bandas de frecuencias basándose en la información de ganancia de banda de frecuencia;
donde el rellenador de ruido (520; 770) está configurado para modificar selectivamente un valor de ganancia de banda de frecuencia de una banda de frecuencia dada usando un valor de desplazamiento de ruido si la banda de frecuencia dada está cuantificada a cero.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US7987208P | 2008-07-11 | 2008-07-11 | |
| US10382008P | 2008-10-08 | 2008-10-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3031937T3 true ES3031937T3 (en) | 2025-07-14 |
Family
ID=40941986
Family Applications (14)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24167780T Active ES3032014T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES24167758T Active ES3032419T3 (en) | 2008-07-11 | 2009-06-25 | Method for audio decoding and corresponding computer program |
| ES23178772T Active ES2988414T3 (es) | 2008-07-11 | 2009-06-25 | Decodificador de audio |
| ES24167794T Active ES3032406T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
| ES24167725T Active ES3031937T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES09776839.4T Active ES2642906T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimientos para proporcionar un flujo de audio y programa de ordenador |
| ES24167804T Active ES3032483T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
| ES24167802T Active ES3032482T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES24167799T Active ES3031430T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES17175883T Active ES2955669T3 (es) | 2008-07-11 | 2009-06-25 | Decodificador de audio, procedimiento para decodificar una señal de audio y programa de ordenador |
| ES11157204.6T Active ES2526767T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimiento para codificar una señal de audio y programa de ordenador |
| ES24167801T Active ES3032422T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
| ES11157188T Active ES2422412T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimiento para la codificación de audio y programa de ordenador |
| ES09776859T Active ES2374640T3 (es) | 2008-07-11 | 2009-06-26 | Rellenador de ruido, calculador de parámetro de relleno de ruido, método para proporcionar un parámetro de relleno de ruido, método para proporcionar una representación espectral rellenada con ruido de una señal de audio, programa informático correspondiente y señal de audio codificada. |
Family Applications Before (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES24167780T Active ES3032014T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES24167758T Active ES3032419T3 (en) | 2008-07-11 | 2009-06-25 | Method for audio decoding and corresponding computer program |
| ES23178772T Active ES2988414T3 (es) | 2008-07-11 | 2009-06-25 | Decodificador de audio |
| ES24167794T Active ES3032406T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
Family Applications After (9)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09776839.4T Active ES2642906T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimientos para proporcionar un flujo de audio y programa de ordenador |
| ES24167804T Active ES3032483T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
| ES24167802T Active ES3032482T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES24167799T Active ES3031430T3 (en) | 2008-07-11 | 2009-06-25 | Audio decoder |
| ES17175883T Active ES2955669T3 (es) | 2008-07-11 | 2009-06-25 | Decodificador de audio, procedimiento para decodificar una señal de audio y programa de ordenador |
| ES11157204.6T Active ES2526767T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimiento para codificar una señal de audio y programa de ordenador |
| ES24167801T Active ES3032422T3 (en) | 2008-07-11 | 2009-06-25 | Method for decoding an audio signal and computer program |
| ES11157188T Active ES2422412T3 (es) | 2008-07-11 | 2009-06-25 | Codificador de audio, procedimiento para la codificación de audio y programa de ordenador |
| ES09776859T Active ES2374640T3 (es) | 2008-07-11 | 2009-06-26 | Rellenador de ruido, calculador de parámetro de relleno de ruido, método para proporcionar un parámetro de relleno de ruido, método para proporcionar una representación espectral rellenada con ruido de una señal de audio, programa informático correspondiente y señal de audio codificada. |
Country Status (21)
| Country | Link |
|---|---|
| US (13) | US9043203B2 (es) |
| EP (12) | EP2304719B1 (es) |
| JP (2) | JP5622726B2 (es) |
| KR (4) | KR101518532B1 (es) |
| CN (2) | CN102089808B (es) |
| AR (2) | AR072482A1 (es) |
| AT (1) | ATE535903T1 (es) |
| AU (2) | AU2009267459B2 (es) |
| BR (5) | BRPI0910811B1 (es) |
| CA (2) | CA2730361C (es) |
| CO (2) | CO6341671A2 (es) |
| EG (1) | EG26480A (es) |
| ES (14) | ES3032014T3 (es) |
| MX (2) | MX2011000382A (es) |
| MY (2) | MY178597A (es) |
| PL (12) | PL4375998T3 (es) |
| PT (1) | PT2304719T (es) |
| RU (2) | RU2519069C2 (es) |
| TW (2) | TWI417871B (es) |
| WO (2) | WO2010003556A1 (es) |
| ZA (2) | ZA201100085B (es) |
Families Citing this family (91)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2304719B1 (en) | 2008-07-11 | 2017-07-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, methods for providing an audio stream and computer program |
| WO2010053287A2 (en) * | 2008-11-04 | 2010-05-14 | Lg Electronics Inc. | An apparatus for processing an audio signal and method thereof |
| US8553897B2 (en) | 2009-06-09 | 2013-10-08 | Dean Robert Gary Anderson | Method and apparatus for directional acoustic fitting of hearing aids |
| US9101299B2 (en) * | 2009-07-23 | 2015-08-11 | Dean Robert Gary Anderson As Trustee Of The D/L Anderson Family Trust | Hearing aids configured for directional acoustic fitting |
| US8879745B2 (en) * | 2009-07-23 | 2014-11-04 | Dean Robert Gary Anderson As Trustee Of The D/L Anderson Family Trust | Method of deriving individualized gain compensation curves for hearing aid fitting |
| JP5754899B2 (ja) | 2009-10-07 | 2015-07-29 | ソニー株式会社 | 復号装置および方法、並びにプログラム |
| US9117458B2 (en) * | 2009-11-12 | 2015-08-25 | Lg Electronics Inc. | Apparatus for processing an audio signal and method thereof |
| JP5609737B2 (ja) | 2010-04-13 | 2014-10-22 | ソニー株式会社 | 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム |
| JP5850216B2 (ja) | 2010-04-13 | 2016-02-03 | ソニー株式会社 | 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム |
| US8924222B2 (en) | 2010-07-30 | 2014-12-30 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for coding of harmonic signals |
| JP6075743B2 (ja) | 2010-08-03 | 2017-02-08 | ソニー株式会社 | 信号処理装置および方法、並びにプログラム |
| US9208792B2 (en) * | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
| US9008811B2 (en) | 2010-09-17 | 2015-04-14 | Xiph.org Foundation | Methods and systems for adaptive time-frequency resolution in digital data coding |
| JP5707842B2 (ja) | 2010-10-15 | 2015-04-30 | ソニー株式会社 | 符号化装置および方法、復号装置および方法、並びにプログラム |
| EP2631905A4 (en) * | 2010-10-18 | 2014-04-30 | Panasonic Corp | DEVICE FOR TONE CODING AND TONE DECODING |
| WO2012122299A1 (en) | 2011-03-07 | 2012-09-13 | Xiph. Org. | Bit allocation and partitioning in gain-shape vector quantization for audio coding |
| WO2012122297A1 (en) * | 2011-03-07 | 2012-09-13 | Xiph. Org. | Methods and systems for avoiding partial collapse in multi-block audio coding |
| US8838442B2 (en) | 2011-03-07 | 2014-09-16 | Xiph.org Foundation | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
| SG194199A1 (en) | 2011-03-18 | 2013-12-30 | Fraunhofer Ges Forschung | Frame element positioning in frames of a bitstream representing audio content |
| EP2705516B1 (en) * | 2011-05-04 | 2016-07-06 | Nokia Technologies Oy | Encoding of stereophonic signals |
| WO2013002623A2 (ko) | 2011-06-30 | 2013-01-03 | 삼성전자 주식회사 | 대역폭 확장신호 생성장치 및 방법 |
| WO2013061232A1 (en) * | 2011-10-24 | 2013-05-02 | Koninklijke Philips Electronics N.V. | Audio signal noise attenuation |
| US8942397B2 (en) * | 2011-11-16 | 2015-01-27 | Dean Robert Gary Anderson | Method and apparatus for adding audible noise with time varying volume to audio devices |
| JP5942463B2 (ja) * | 2012-02-17 | 2016-06-29 | 株式会社ソシオネクスト | オーディオ信号符号化装置およびオーディオ信号符号化方法 |
| US20130282373A1 (en) * | 2012-04-23 | 2013-10-24 | Qualcomm Incorporated | Systems and methods for audio signal processing |
| CN103778918B (zh) * | 2012-10-26 | 2016-09-07 | 华为技术有限公司 | 音频信号的比特分配的方法和装置 |
| CN105976824B (zh) | 2012-12-06 | 2021-06-08 | 华为技术有限公司 | 信号解码的方法和设备 |
| CN105122357B (zh) | 2013-01-29 | 2019-04-23 | 弗劳恩霍夫应用研究促进协会 | 频域中基于lpc进行编码的低频增强 |
| CA2898024C (en) * | 2013-01-29 | 2018-09-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Noise filling concept |
| CN105103226B (zh) * | 2013-01-29 | 2019-04-16 | 弗劳恩霍夫应用研究促进协会 | 低复杂度音调自适应音频信号量化 |
| EP3217398B1 (en) | 2013-04-05 | 2019-08-14 | Dolby International AB | Advanced quantizer |
| DK2981963T3 (en) | 2013-04-05 | 2017-02-27 | Dolby Laboratories Licensing Corp | COMPRESSION APPARATUS AND PROCEDURE TO REDUCE QUANTIZATION NOISE USING ADVANCED SPECTRAL EXTENSION |
| EP2992605B1 (en) * | 2013-04-29 | 2017-06-07 | Dolby Laboratories Licensing Corporation | Frequency band compression with dynamic thresholds |
| SG10201710019SA (en) | 2013-05-24 | 2018-01-30 | Dolby Int Ab | Audio Encoder And Decoder |
| SG11201510513WA (en) * | 2013-06-21 | 2016-01-28 | Fraunhofer Ges Forschung | Method and apparatus for obtaining spectrum coefficients for a replacement frame of an audio signal, audio decoder, audio receiver and system for transmitting audio signals |
| EP3014609B1 (en) | 2013-06-27 | 2017-09-27 | Dolby Laboratories Licensing Corporation | Bitstream syntax for spatial voice coding |
| EP2830060A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Noise filling in multichannel audio coding |
| EP2830058A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
| EP2830054A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework |
| TWI579831B (zh) | 2013-09-12 | 2017-04-21 | 杜比國際公司 | 用於參數量化的方法、用於量化的參數之解量化方法及其電腦可讀取的媒體、音頻編碼器、音頻解碼器及音頻系統 |
| JP6531649B2 (ja) | 2013-09-19 | 2019-06-19 | ソニー株式会社 | 符号化装置および方法、復号化装置および方法、並びにプログラム |
| ES2641580T3 (es) | 2013-10-03 | 2017-11-10 | Dolby Laboratories Licensing Corporation | Generación de señal difusa adaptativa en un mezclador ascendente |
| EP4629236A3 (en) | 2013-10-22 | 2025-12-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for combined dynamic range compression and guided clipping prevention for audio devices |
| PT3285254T (pt) | 2013-10-31 | 2019-07-09 | Fraunhofer Ges Forschung | Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma ocultação de erro com base num sinal de excitação no domínio de tempo |
| PT3063759T (pt) | 2013-10-31 | 2018-03-22 | Fraunhofer Ges Forschung | Descodificador de áudio e método para fornecer uma informação de áudio descodificada utilizando uma dissimulação de erros que modifica um sinal de excitação de domínio de tempo |
| AU2014360038B2 (en) | 2013-12-02 | 2017-11-02 | Huawei Technologies Co., Ltd. | Encoding method and apparatus |
| KR102356012B1 (ko) | 2013-12-27 | 2022-01-27 | 소니그룹주식회사 | 복호화 장치 및 방법, 및 프로그램 |
| EP3117432B1 (en) * | 2014-03-14 | 2019-05-08 | Telefonaktiebolaget LM Ericsson (publ) | Audio coding method and apparatus |
| EP3128513B1 (en) * | 2014-03-31 | 2019-05-15 | Fraunhofer Gesellschaft zur Förderung der Angewand | Encoder, decoder, encoding method, decoding method, and program |
| US9685166B2 (en) | 2014-07-26 | 2017-06-20 | Huawei Technologies Co., Ltd. | Classification between time-domain coding and frequency domain coding |
| EP2980792A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating an enhanced signal using independent noise-filling |
| EP2980801A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for estimating noise in an audio signal, noise estimator, audio encoder, audio decoder, and system for transmitting audio signals |
| EP4601259A3 (en) * | 2014-09-30 | 2025-09-24 | Sony Group Corporation | Transmitting device, transmission method, receiving device, and receiving method |
| US9875756B2 (en) | 2014-12-16 | 2018-01-23 | Psyx Research, Inc. | System and method for artifact masking |
| WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| TWI879690B (zh) | 2015-03-13 | 2025-04-01 | 瑞典商杜比國際公司 | 音訊處理單元、用於將經編碼的音訊位元流解碼之方法以及非暫態電腦可讀媒體 |
| WO2016162283A1 (en) * | 2015-04-07 | 2016-10-13 | Dolby International Ab | Audio coding with range extension |
| US9454343B1 (en) | 2015-07-20 | 2016-09-27 | Tls Corp. | Creating spectral wells for inserting watermarks in audio signals |
| US9311924B1 (en) | 2015-07-20 | 2016-04-12 | Tls Corp. | Spectral wells for inserting watermarks in audio signals |
| US10115404B2 (en) | 2015-07-24 | 2018-10-30 | Tls Corp. | Redundancy in watermarking audio signals that have speech-like properties |
| US9626977B2 (en) | 2015-07-24 | 2017-04-18 | Tls Corp. | Inserting watermarks into audio signals that have speech-like properties |
| EP3926626B1 (en) | 2015-10-08 | 2024-05-22 | Dolby International AB | Layered coding and data structure for compressed higher-order ambisonics sound or sound field representations |
| EP3360135B1 (en) | 2015-10-08 | 2020-03-11 | Dolby International AB | Layered coding for compressed sound or sound field representations |
| US10142743B2 (en) | 2016-01-01 | 2018-11-27 | Dean Robert Gary Anderson | Parametrically formulated noise and audio systems, devices, and methods thereof |
| ES2771200T3 (es) * | 2016-02-17 | 2020-07-06 | Fraunhofer Ges Forschung | Postprocesador, preprocesador, codificador de audio, decodificador de audio y métodos relacionados para mejorar el procesamiento de transitorios |
| EP3208800A1 (en) | 2016-02-17 | 2017-08-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for stereo filing in multichannel coding |
| US10146500B2 (en) | 2016-08-31 | 2018-12-04 | Dts, Inc. | Transform-based audio codec and method with subband energy smoothing |
| EP3382703A1 (en) * | 2017-03-31 | 2018-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and methods for processing an audio signal |
| EP3396670B1 (en) * | 2017-04-28 | 2020-11-25 | Nxp B.V. | Speech signal processing |
| JP7214726B2 (ja) * | 2017-10-27 | 2023-01-30 | フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | ニューラルネットワークプロセッサを用いた帯域幅が拡張されたオーディオ信号を生成するための装置、方法またはコンピュータプログラム |
| WO2019091576A1 (en) * | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
| US10950251B2 (en) * | 2018-03-05 | 2021-03-16 | Dts, Inc. | Coding of harmonic signals in transform-based audio codecs |
| US11694708B2 (en) * | 2018-09-23 | 2023-07-04 | Plantronics, Inc. | Audio device and method of audio processing with improved talker discrimination |
| US11264014B1 (en) * | 2018-09-23 | 2022-03-01 | Plantronics, Inc. | Audio device and method of audio processing with improved talker discrimination |
| WO2020073148A1 (en) * | 2018-10-08 | 2020-04-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Transmission power determination for an antenna array |
| CN113302692B (zh) * | 2018-10-26 | 2024-09-24 | 弗劳恩霍夫应用研究促进协会 | 基于方向响度图的音频处理 |
| WO2020164751A1 (en) | 2019-02-13 | 2020-08-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoder and decoding method for lc3 concealment including full frame loss concealment and partial frame loss concealment |
| US12148441B2 (en) * | 2019-03-10 | 2024-11-19 | Kardome Technology Ltd. | Source separation for automatic speech recognition (ASR) |
| WO2020207593A1 (en) * | 2019-04-11 | 2020-10-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, apparatus for determining a set of values defining characteristics of a filter, methods for providing a decoded audio representation, methods for determining a set of values defining characteristics of a filter and computer program |
| US11361776B2 (en) | 2019-06-24 | 2022-06-14 | Qualcomm Incorporated | Coding scaled spatial components |
| US12308034B2 (en) | 2019-06-24 | 2025-05-20 | Qualcomm Incorporated | Performing psychoacoustic audio coding based on operating conditions |
| US12142285B2 (en) | 2019-06-24 | 2024-11-12 | Qualcomm Incorporated | Quantizing spatial components based on bit allocations determined for psychoacoustic audio coding |
| US11538489B2 (en) | 2019-06-24 | 2022-12-27 | Qualcomm Incorporated | Correlating scene-based audio data for psychoacoustic audio coding |
| US12511546B2 (en) * | 2019-10-30 | 2025-12-30 | Royal Bank Of Canada | System and method for machine learning architecture with differential privacy |
| CN112037802B (zh) * | 2020-05-08 | 2022-04-01 | 珠海市杰理科技股份有限公司 | 基于语音端点检测的音频编码方法及装置、设备、介质 |
| US11348594B2 (en) * | 2020-06-11 | 2022-05-31 | Qualcomm Incorporated | Stream conformant bit error resilience |
| WO2022008454A1 (en) * | 2020-07-07 | 2022-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio quantizer and audio dequantizer and related methods |
| US11545172B1 (en) * | 2021-03-09 | 2023-01-03 | Amazon Technologies, Inc. | Sound source localization using reflection classification |
| TW202333143A (zh) * | 2021-12-23 | 2023-08-16 | 弗勞恩霍夫爾協會 | 在音訊寫碼中使用濾波用於頻譜時間改善頻譜間隙填充之方法及設備 |
| CN114900246B (zh) * | 2022-05-25 | 2023-06-13 | 中国电子科技集团公司第十研究所 | 噪声基底估计方法、装置、设备及存储介质 |
| US12531064B1 (en) * | 2024-03-28 | 2026-01-20 | Amazon Technologies, Inc. | Audio-based user engagement detection |
Family Cites Families (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4703505A (en) * | 1983-08-24 | 1987-10-27 | Harris Corporation | Speech data encoding scheme |
| US4956871A (en) * | 1988-09-30 | 1990-09-11 | At&T Bell Laboratories | Improving sub-band coding of speech at low bit rates by adding residual speech energy signals to sub-bands |
| JPH0934493A (ja) | 1995-07-20 | 1997-02-07 | Graphics Commun Lab:Kk | 音響信号符号化装置、音響信号復号装置および音響信号処理装置 |
| US6092041A (en) | 1996-08-22 | 2000-07-18 | Motorola, Inc. | System and method of encoding and decoding a layered bitstream by re-applying psychoacoustic analysis in the decoder |
| US5797120A (en) * | 1996-09-04 | 1998-08-18 | Advanced Micro Devices, Inc. | System and method for generating re-configurable band limited noise using modulation |
| US5924064A (en) * | 1996-10-07 | 1999-07-13 | Picturetel Corporation | Variable length coding using a plurality of region bit allocation patterns |
| US5960389A (en) | 1996-11-15 | 1999-09-28 | Nokia Mobile Phones Limited | Methods for generating comfort noise during discontinuous transmission |
| US6167133A (en) * | 1997-04-02 | 2000-12-26 | At&T Corporation | Echo detection, tracking, cancellation and noise fill in real time in a communication system |
| US6240386B1 (en) * | 1998-08-24 | 2001-05-29 | Conexant Systems, Inc. | Speech codec employing noise classification for noise compensation |
| RU2237296C2 (ru) * | 1998-11-23 | 2004-09-27 | Телефонактиеболагет Лм Эрикссон (Пабл) | Кодирование речи с функцией изменения комфортного шума для повышения точности воспроизведения |
| US7124079B1 (en) * | 1998-11-23 | 2006-10-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Speech coding with comfort noise variability feature for increased fidelity |
| JP3804902B2 (ja) | 1999-09-27 | 2006-08-02 | パイオニア株式会社 | 量子化誤差補正方法及び装置並びにオーディオ情報復号方法及び装置 |
| FI116643B (fi) | 1999-11-15 | 2006-01-13 | Nokia Corp | Kohinan vaimennus |
| SE0004187D0 (sv) * | 2000-11-15 | 2000-11-15 | Coding Technologies Sweden Ab | Enhancing the performance of coding systems that use high frequency reconstruction methods |
| DE60233032D1 (de) * | 2001-03-02 | 2009-09-03 | Panasonic Corp | Audio-kodierer und audio-dekodierer |
| US6876968B2 (en) | 2001-03-08 | 2005-04-05 | Matsushita Electric Industrial Co., Ltd. | Run time synthesizer adaptation to improve intelligibility of synthesized speech |
| ATE320651T1 (de) * | 2001-05-08 | 2006-04-15 | Koninkl Philips Electronics Nv | Kodieren eines audiosignals |
| JP4506039B2 (ja) | 2001-06-15 | 2010-07-21 | ソニー株式会社 | 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム |
| US7447631B2 (en) * | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
| KR100462611B1 (ko) | 2002-06-27 | 2004-12-20 | 삼성전자주식회사 | 하모닉 성분을 이용한 오디오 코딩방법 및 장치 |
| JP4218271B2 (ja) * | 2002-07-19 | 2009-02-04 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体 |
| DE10236694A1 (de) | 2002-08-09 | 2004-02-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren |
| KR100477699B1 (ko) * | 2003-01-15 | 2005-03-18 | 삼성전자주식회사 | 양자화 잡음 분포 조절 방법 및 장치 |
| WO2005004113A1 (ja) | 2003-06-30 | 2005-01-13 | Fujitsu Limited | オーディオ符号化装置 |
| JP4849466B2 (ja) * | 2003-10-10 | 2012-01-11 | エージェンシー フォー サイエンス, テクノロジー アンド リサーチ | デジタル信号をスケーラブルビットストリームにエンコードする方法、及びスケーラブルビットストリームをデコードする方法 |
| US7723474B2 (en) | 2003-10-21 | 2010-05-25 | The Regents Of The University Of California | Molecules that selectively home to vasculature of pre-malignant dysplastic lesions or malignancies |
| US7436786B2 (en) | 2003-12-09 | 2008-10-14 | International Business Machines Corporation | Telecommunications system for minimizing the effect of white noise data packets for the generation of required white noise on transmission channel utilization |
| JP2005202248A (ja) * | 2004-01-16 | 2005-07-28 | Fujitsu Ltd | オーディオ符号化装置およびオーディオ符号化装置のフレーム領域割り当て回路 |
| DE102004007200B3 (de) | 2004-02-13 | 2005-08-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audiocodierung |
| CA2457988A1 (en) * | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
| US7613306B2 (en) * | 2004-02-25 | 2009-11-03 | Panasonic Corporation | Audio encoder and audio decoder |
| ATE371926T1 (de) * | 2004-05-17 | 2007-09-15 | Nokia Corp | Audiocodierung mit verschiedenen codierungsmodellen |
| WO2005112001A1 (ja) | 2004-05-19 | 2005-11-24 | Matsushita Electric Industrial Co., Ltd. | 符号化装置、復号化装置、およびこれらの方法 |
| US7649988B2 (en) * | 2004-06-15 | 2010-01-19 | Acoustic Technologies, Inc. | Comfort noise generator using modified Doblinger noise estimate |
| US7873515B2 (en) * | 2004-11-23 | 2011-01-18 | Stmicroelectronics Asia Pacific Pte. Ltd. | System and method for error reconstruction of streaming audio information |
| KR100707173B1 (ko) | 2004-12-21 | 2007-04-13 | 삼성전자주식회사 | 저비트율 부호화/복호화방법 및 장치 |
| US7885809B2 (en) * | 2005-04-20 | 2011-02-08 | Ntt Docomo, Inc. | Quantization of speech and audio coding parameters using partial information on atypical subsequences |
| CN101263554B (zh) * | 2005-07-22 | 2011-12-28 | 法国电信公司 | 在比特率分级和带宽分级的音频解码中的比特率切换方法 |
| JP4627737B2 (ja) * | 2006-03-08 | 2011-02-09 | シャープ株式会社 | デジタルデータ復号化装置 |
| US7564418B2 (en) | 2006-04-21 | 2009-07-21 | Galtronics Ltd. | Twin ground antenna |
| JP4380669B2 (ja) * | 2006-08-07 | 2009-12-09 | カシオ計算機株式会社 | 音声符号化装置、音声復号装置、音声符号化方法、音声復号方法、及び、プログラム |
| US7275936B1 (en) * | 2006-09-22 | 2007-10-02 | Lotes Co., Ltd. | Electrical connector |
| US8275611B2 (en) * | 2007-01-18 | 2012-09-25 | Stmicroelectronics Asia Pacific Pte., Ltd. | Adaptive noise suppression for digital speech signals |
| WO2008108082A1 (ja) * | 2007-03-02 | 2008-09-12 | Panasonic Corporation | 音声復号装置および音声復号方法 |
| DK2571024T3 (en) * | 2007-08-27 | 2015-01-05 | Ericsson Telefon Ab L M | Adaptive transition frequency between the noise filling and bandwidth extension |
| DK2186089T3 (en) * | 2007-08-27 | 2019-01-07 | Ericsson Telefon Ab L M | Method and apparatus for perceptual spectral decoding of an audio signal including filling in spectral holes |
| US8560307B2 (en) * | 2008-01-28 | 2013-10-15 | Qualcomm Incorporated | Systems, methods, and apparatus for context suppression using receivers |
| EP2304719B1 (en) | 2008-07-11 | 2017-07-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, methods for providing an audio stream and computer program |
| US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
| EP2631905A4 (en) | 2010-10-18 | 2014-04-30 | Panasonic Corp | DEVICE FOR TONE CODING AND TONE DECODING |
-
2009
- 2009-06-25 EP EP09776839.4A patent/EP2304719B1/en active Active
- 2009-06-25 ES ES24167780T patent/ES3032014T3/es active Active
- 2009-06-25 ES ES24167758T patent/ES3032419T3/es active Active
- 2009-06-25 KR KR1020117000768A patent/KR101518532B1/ko active Active
- 2009-06-25 ES ES23178772T patent/ES2988414T3/es active Active
- 2009-06-25 ES ES24167794T patent/ES3032406T3/es active Active
- 2009-06-25 ES ES24167725T patent/ES3031937T3/es active Active
- 2009-06-25 ES ES09776839.4T patent/ES2642906T3/es active Active
- 2009-06-25 BR BRPI0910811-4A patent/BRPI0910811B1/pt active IP Right Grant
- 2009-06-25 KR KR1020147004791A patent/KR101582057B1/ko active Active
- 2009-06-25 ES ES24167804T patent/ES3032483T3/es active Active
- 2009-06-25 ES ES24167802T patent/ES3032482T3/es active Active
- 2009-06-25 PL PL24167799.6T patent/PL4375998T3/pl unknown
- 2009-06-25 PL PL24167801.0T patent/PL4407612T3/pl unknown
- 2009-06-25 CN CN200980127118.8A patent/CN102089808B/zh active Active
- 2009-06-25 PL PL17175883.2T patent/PL3246918T3/pl unknown
- 2009-06-25 EP EP17175883.2A patent/EP3246918B1/en active Active
- 2009-06-25 EP EP23178772.2A patent/EP4235660B1/en active Active
- 2009-06-25 PL PL24167780.6T patent/PL4372745T3/pl unknown
- 2009-06-25 EP EP24167725.1A patent/EP4407610B1/en active Active
- 2009-06-25 BR BR122021003752-3A patent/BR122021003752B1/pt active IP Right Grant
- 2009-06-25 PL PL24167758.2T patent/PL4372744T3/pl unknown
- 2009-06-25 ES ES24167799T patent/ES3031430T3/es active Active
- 2009-06-25 RU RU2011104006/08A patent/RU2519069C2/ru active
- 2009-06-25 BR BR122021003726-4A patent/BR122021003726B1/pt active IP Right Grant
- 2009-06-25 EP EP24167804.4A patent/EP4407614B1/en active Active
- 2009-06-25 ES ES17175883T patent/ES2955669T3/es active Active
- 2009-06-25 BR BR122021003142-8A patent/BR122021003142B1/pt active IP Right Grant
- 2009-06-25 PL PL24167794.7T patent/PL4407611T3/pl unknown
- 2009-06-25 KR KR1020157036527A patent/KR101706009B1/ko active Active
- 2009-06-25 CA CA2730361A patent/CA2730361C/en active Active
- 2009-06-25 ES ES11157204.6T patent/ES2526767T3/es active Active
- 2009-06-25 MX MX2011000382A patent/MX2011000382A/es active IP Right Grant
- 2009-06-25 AU AU2009267459A patent/AU2009267459B2/en active Active
- 2009-06-25 EP EP24167758.2A patent/EP4372744B1/en active Active
- 2009-06-25 WO PCT/EP2009/004602 patent/WO2010003556A1/en not_active Ceased
- 2009-06-25 PT PT97768394T patent/PT2304719T/pt unknown
- 2009-06-25 EP EP24167801.0A patent/EP4407612B1/en active Active
- 2009-06-25 PL PL24167725.1T patent/PL4407610T3/pl unknown
- 2009-06-25 MY MYPI2011000098A patent/MY178597A/en unknown
- 2009-06-25 BR BR122021003097-9A patent/BR122021003097B1/pt active IP Right Grant
- 2009-06-25 EP EP24167794.7A patent/EP4407611B1/en active Active
- 2009-06-25 PL PL23178772.2T patent/PL4235660T3/pl unknown
- 2009-06-25 PL PL24167802.8T patent/PL4407613T3/pl unknown
- 2009-06-25 ES ES24167801T patent/ES3032422T3/es active Active
- 2009-06-25 PL PL09776839T patent/PL2304719T3/pl unknown
- 2009-06-25 JP JP2011516991A patent/JP5622726B2/ja active Active
- 2009-06-25 EP EP24167799.6A patent/EP4375998B1/en active Active
- 2009-06-25 PL PL24167804.4T patent/PL4407614T3/pl unknown
- 2009-06-25 ES ES11157188T patent/ES2422412T3/es active Active
- 2009-06-25 EP EP24167802.8A patent/EP4407613B1/en active Active
- 2009-06-25 EP EP24167780.6A patent/EP4372745B1/en active Active
- 2009-06-26 ES ES09776859T patent/ES2374640T3/es active Active
- 2009-06-26 WO PCT/EP2009/004653 patent/WO2010003565A1/en not_active Ceased
- 2009-06-26 CN CN2009801270908A patent/CN102089806B/zh active Active
- 2009-06-26 RU RU2011102410/08A patent/RU2512103C2/ru active
- 2009-06-26 JP JP2011516997A patent/JP5307889B2/ja active Active
- 2009-06-26 PL PL09776859T patent/PL2304720T3/pl unknown
- 2009-06-26 AT AT09776859T patent/ATE535903T1/de active
- 2009-06-26 EP EP09776859A patent/EP2304720B1/en active Active
- 2009-06-26 CA CA2730536A patent/CA2730536C/en active Active
- 2009-06-26 KR KR1020117000435A patent/KR101251790B1/ko active Active
- 2009-06-26 MY MYPI2011000076A patent/MY155785A/en unknown
- 2009-06-26 MX MX2011000359A patent/MX2011000359A/es active IP Right Grant
- 2009-06-26 AU AU2009267468A patent/AU2009267468B2/en active Active
- 2009-06-30 TW TW098122013A patent/TWI417871B/zh active
- 2009-07-02 TW TW098122400A patent/TWI492223B/zh active
- 2009-07-07 AR ARP090102551 patent/AR072482A1/es active IP Right Grant
- 2009-07-13 AR ARP090102626A patent/AR072497A1/es active IP Right Grant
-
2011
- 2011-01-04 ZA ZA2011/00085A patent/ZA201100085B/en unknown
- 2011-01-04 ZA ZA2011/00091A patent/ZA201100091B/en unknown
- 2011-01-07 CO CO11001536A patent/CO6341671A2/es active IP Right Grant
- 2011-01-10 EG EG2011010058A patent/EG26480A/en active
- 2011-01-11 US US13/004,508 patent/US9043203B2/en active Active
- 2011-01-11 US US13/004,493 patent/US8983851B2/en active Active
- 2011-01-13 CO CO11003109A patent/CO6280569A2/es active IP Right Grant
-
2014
- 2014-01-16 US US14/157,185 patent/US9449606B2/en active Active
- 2014-12-24 US US14/582,828 patent/US9711157B2/en active Active
-
2016
- 2016-09-15 US US15/266,862 patent/US10629215B2/en active Active
-
2017
- 2017-07-07 US US15/643,908 patent/US11024323B2/en active Active
-
2021
- 2021-05-17 US US17/322,656 patent/US11869521B2/en active Active
-
2023
- 2023-11-29 US US18/522,732 patent/US12080305B2/en active Active
- 2023-11-29 US US18/522,762 patent/US12080306B2/en active Active
-
2024
- 2024-08-29 US US18/819,680 patent/US12327570B2/en active Active
- 2024-08-29 US US18/819,804 patent/US12334089B2/en active Active
- 2024-08-29 US US18/819,733 patent/US12334088B2/en active Active
- 2024-08-29 US US18/819,866 patent/US12334090B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3031937T3 (en) | Audio decoder | |
| EP2346030B1 (en) | Audio encoder, method for encoding an audio signal and computer program | |
| HK40110130B (en) | Audio decoder | |
| HK40110130A (en) | Audio decoder | |
| HK40110136B (en) | Method for audio decoding and corresponding computer program | |
| HK40110136A (en) | Method for audio decoding and corresponding computer program | |
| HK40109468B (en) | Audio decoder | |
| HK40109468A (en) | Audio decoder | |
| HK40110767A (en) | Audio decoder | |
| HK40110767B (en) | Audio decoder | |
| HK40110134A (en) | Audio decoder | |
| HK40110134B (en) | Audio decoder | |
| HK40100444B (en) | Audio decoder | |
| HK40100444A (en) | Audio decoder | |
| HK40110768A (en) | Method for decoding an audio signal and computer program | |
| HK40110768B (en) | Method for decoding an audio signal and computer program | |
| HK40109447A (en) | Method for decoding an audio signal and computer program | |
| HK40109447B (en) | Method for decoding an audio signal and computer program | |
| HK40110135A (en) | Method for decoding an audio signal and computer program | |
| HK40110135B (en) | Method for decoding an audio signal and computer program | |
| HK1246960B (en) | Audio decoder, method for decoding an audio signal and computer program | |
| HK1160285B (en) | Audio encoder, method for encoding an audio signal and computer program | |
| HK1160286A (en) | Audio encoder, method for encoding an audio signal and corresponding computer program | |
| HK1160286B (en) | Audio encoder, method for encoding an audio signal and corresponding computer program |