ES3048658T3 - Audio encoders, methods and computer programs adapting an encoding of least significant bits - Google Patents

Audio encoders, methods and computer programs adapting an encoding of least significant bits

Info

Publication number
ES3048658T3
ES3048658T3 ES23218364T ES23218364T ES3048658T3 ES 3048658 T3 ES3048658 T3 ES 3048658T3 ES 23218364 T ES23218364 T ES 23218364T ES 23218364 T ES23218364 T ES 23218364T ES 3048658 T3 ES3048658 T3 ES 3048658T3
Authority
ES
Spain
Prior art keywords
bits
spectral values
bit
significant
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES23218364T
Other languages
English (en)
Inventor
Emmanuel Ravelli
Guillaume Fuchs
Markus Schnell
Adrian Tomasek
Stefan Geyersberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES3048658T3 publication Critical patent/ES3048658T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un decodificador de audio que proporciona información de audio decodificada a partir de información de audio codificada está configurado para obtener valores espectrales decodificados a partir de información codificada que representa dichos valores. El decodificador de audio está configurado para decodificar conjuntamente dos o más bits más significativos por valor espectral, basándose en sus respectivos códigos de símbolo para un conjunto de valores espectrales, mediante decodificación aritmética. Dicho código de símbolo representa dos o más bits más significativos por valor espectral para uno o más valores espectrales. El decodificador de audio está configurado para decodificar uno o más bits menos significativos asociados a uno o más valores espectrales, dependiendo de la información disponible sobre los bits menos significativos. De esta manera, se decodifican uno o más bits menos significativos asociados a uno o más valores espectrales, mientras que no se decodifican bits menos significativos para uno o más valores espectrales para los que se decodifican uno o más bits más significativos y que comprenden más bits que los bits más significativos. El decodificador de audio está configurado para proporcionar la información de audio decodificada utilizando los valores espectrales. Es posible modificar el decodificador de audio. También se describe un codificador de audio. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] Descripción
[0002] Codificadores de audio, métodos y programas informáticos que adaptan una codificación de bits menos significativos
[0003] Campo técnico
[0004] Las realizaciones de acuerdo con la invención se refieren a codificadores de audio para proporcionar una información de audio codificada sobre la base de una información de audio de entrada.
[0005] Otras realizaciones de acuerdo con la invención se refieren a métodos para proporcionar una información de audio codificada sobre la base de una información de audio de entrada.
[0006] Otras realizaciones de acuerdo con la invención se refieren a los respectivos programas informáticos.
[0007] Las realizaciones de acuerdo con la invención se refieren a un truncamiento mejorado de datos de audio codificados aritméticos.
[0008] Antecedentes de la invención
[0009] En el pasado, se han desarrollado muchos conceptos diferentes para la codificación y decodificación de contenido de audio.
[0010] Por ejemplo, el Nuevo códec de Bluetooth (NBC) es un códec de audio que es muy similar a un códec de audio TCX basado en MDCT utilizado en el estándar EVP 3GPP [1]. Ambos emplean la cuantificación escalar y la codificación aritmética basada en el contexto (confieren, por ejemplo, las referencias [2] a [4]) para codificar los datos MDCT.
[0011] El cuantificador escalar es un cuantificador simple y uniforme (con una zona muerta adicional) cuyo tamaño de etapa se controla mediante una ganancia global única (que, por ejemplo, se envía al decodificador como información secundaria). Esta ganancia global controla tanto la distorsión introducida por el cuantificador escalar como también el número de bits consumidos por el codificador aritmético. Cuanto mayor es la ganancia global, mayor es la distorsión y menor es el número de bits consumidos por el codificador aritmético.
[0012] En EVS, como en la mayoría de los otros códecs de comunicación, la tasa de bits del códec es constante, es decir, existe un número limitado de bits (presupuesto de bits) disponible para codificar los datos MDCT.
[0013] En consecuencia, el codificador debería encontrar (o debe encontrar) una ganancia global que no sea demasiado baja, de lo contrario, el número de bits consumidos por el codificador aritmético excedería el presupuesto de bits. Además, debería (o debe) encontrar una ganancia global que no sea demasiado alta; de lo contrario, la distorsión introducida por la cuantificación sería mayor, lo que da como resultado una peor calidad perceptual de la señal de salida decodificada.
[0014] Idealmente, el codificador debería encontrar en cada trama la ganancia global óptima: la que proporciona distorsiones mínimas mientras produce una cantidad de bits por debajo del presupuesto de bits.
[0015] Este objetivo se puede lograr, por ejemplo, usando un enfoque iterativo conocido también como bucle de velocidad: en cada iteración del bucle, los datos de la MDCT se vuelven a cuantificar, se estima el número de bits consumidos por el codificador aritmético y la ganancia global se ajusta en función del número de bits y/o la distorsión.
[0016] Sin embargo, un bucle de velocidad es complejo computacionalmente y, para guardar complejidad, generalmente se usa un número pequeño de iteraciones. Esto es particularmente relevante para los códecs de comunicación de muy baja potencia (por ejemplo, el Nuevo códec Bluetooth) que requieren una complejidad computacional muy baja. Entonces, en la práctica, generalmente se encuentra una ganancia global subóptima.
[0017] Se ha hallado que, en algunos casos, la ganancia global encontrada es demasiado alta, lo que da como resultado un número de bits consumidos significativamente menor que el presupuesto de bits. En este caso, existe un número de bits no usados. Estos bits se pueden usar realmente mediante una herramienta adicional llamada "cuantificación/codificación residual" (que se utiliza, por ejemplo, en EVS y NBC). Esta herramienta refina los coeficientes no cero cuantificados usando un coeficiente pro de un bit, y ayuda a obtener una distorsión que no es demasiado alta, incluso cuando la ganancia global es demasiado alta.
[0018] Además, se ha hallado que, en algunos otros casos, la ganancia global encontrada es demasiado baja, lo que produce un número de bits consumidos que exceden el presupuesto de bits. En este caso, los datos cuantificados no pueden ser completamente codificados. En otras palabras, una porción de los datos se debe omitir para mantenerse dentro del presupuesto de bits. Una solución empleada en el estándar EVS (y también actualmente en NBC) es truncar los coeficientes no cero de alta frecuencia, ajustándolos a cero. Debido a que el codificador aritmético no codifica la porción de los coeficientes cero de alta frecuencia (mediante el uso de un índice de último coeficiente no cero), este enfoque permite guardar bits y si se truncan suficientes coeficientes no cero de alta frecuencia, esto permite permanecer dentro del presupuesto del bit.
[0020] Se ha hallado que este enfoque está produciendo buenos resultados a tasas de bits bajas porque los coeficientes de alta frecuencia son perceptualmente menos importantes y pueden ser reemplazados por un ruido aleatorio (usando una herramienta de relleno de ruido, ver por ejemplo, EVS [1]) sin una pérdida significativa en la calidad perceptual.
[0022] Sin embargo, también se ha hallado que, a altas tasas de bits, este enfoque puede degradar gravemente el rendimiento del códec.
[0024] El documento US2011/096830A1 describe una arquitectura de codificador/decodificador que utiliza un codificador aritmético para codificar las porciones MSB de la salida de un codificador de pulso factorial. Este trabajo propone superponer la codificación aritmética en la codificación de pulso factorial, lo que da como resultado que los bits se reasignen a bandas con mayor contenido de energía de señal.
[0026] En vista de esta situación, existe un deseo de crear conceptos que permitan una mejor relación entre la eficiencia y la latencia de recursos.
[0028] Sumario de la invención
[0030] La invención se define únicamente por las reivindicaciones adjuntas. Una realización no abarcada por la redacción de las reivindicaciones crea un decodificador de audio para proporcionar una información de audio decodificada sobre la base de una información de audio codificada. El decodificador de audio está configurado para obtener los valores espectrales decodificados sobre la base de una información codificada que representa estos valores espectrales. El decodificador de audio está configurado para decodificar en forma conjunta dos o más bits más significativos por valor espectral (por ejemplo, por valor espectral cuantificado) sobre la base de los respectivos códigos de símbolo para un conjunto de valores espectrales usando una decodificación aritmética. Un respectivo código de símbolo representa dos o más bits más significativos por valor espectral para uno o más valores espectrales. El decodificador de audio está configurado para decodificar uno o más bits menos significativos asociados con uno o más de los valores espectrales dependiendo de cuánta información de bits menos significativos está disponible, de modo que se decodifican uno o más bits menos significativos asociados con uno o más d los valores espectrales (que pueden ser, por ejemplo, valores espectrales cuantificados), mientras que no se decodifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se han decodificado dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos. Además, el decodificador de audio está configurado para proporcionar la información de audio decodificada usando los valores espectrales (decodificados).
[0032] Este decodificador de audio permite un concepto de codificación/decodificación eficiente que proporciona un buen equilibrio entre calidad de audio, complejidad y tasa de bits. Por ejemplo, el decodificador de audio puede manejar bien los casos en los que un presupuesto de bits es insuficiente para codificar todos los valores espectrales (cuantificados) en el lado de un codificador de audio bajo una restricción de presupuesto de bits determinada.
[0033] El decodificador de audio (no abarcado por la redacción de las reivindicaciones) se basa en el hallazgo de que, para un presupuesto de bits determinado, se puede lograr una calidad de audio comparativamente buena si uno o más de los bits más significativos se codifican (y decodifican) para muchos valores espectrales (o incluso para todos los valores espectrales distintos de cero) mientras se omite la codificación (y la decodificación) de los bits menos significativos de algunos de los valores espectrales (cuantificados). En otras palabras, la idea clave de la presente invención es que la degradación de una calidad de audio en un caso en el que un presupuesto de bits es insuficiente (por ejemplo, para una codificación completa de valores espectrales cuantificados) a menudo es menor si la codificación y decodificación de algunos bits menos significativos se omite cuando se compara con una solución en la que se omite una codificación de valores espectrales completos. Expresado de otra manera, se ha encontrado que omitir una codificación de los bits menos significativos de muchos valores espectrales es típicamente todavía una mejor solución para reducir la demanda de bits (para mantener dentro de un presupuesto de bits) en comparación con omitir completamente una codificación de un comparativamente menor número de valores espectrales (incluso si solo se omitieran los valores espectrales en una región de alta frecuencia). Expresado de manera diferente, la presente invención se basa en el hallazgo de que omitir (de manera selectiva) una decodificación de los bits menos significativos para los valores espectrales, para los cuales se han decodificado uno o más bits más significativos es una buena manera de reducir una demanda de bits que típicamente trae menos distorsiones en comparación con una omisión de la codificación y decodificación de valores espectrales en un rango de alta frecuencia.
[0035] Por consiguiente, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) típicamente no trae degradaciones severas de la relación señal a ruido en tramas en las que un presupuesto de bits es insuficiente para una codificación sin pérdida total de valores espectrales cuantificados.
[0037] Además, se ha encontrado que el concepto es particularmente eficiente en un caso en el que dos o más bits más significativos por valor espectral se codifican y decodifican en forma conjunta, porque en este caso los bits más significativos llevan una información suficientemente significativa para permitir una buena representación de audio incluso en el caso de que los bits menos significativos no estén codificados ni decodificados. En otras palabras, mediante la decodificación conjunta de dos o más bits más significativos por valor espectral, se puede asegurar que no haya artefactos excesivos, lo que se puede producir, por ejemplo, por la introducción de contenido de audio codificado con menos de dos bits en una región de alta frecuencia. En otras palabras, se ha encontrado que el concepto mencionado en el presente documento proporciona una buena relación entre tasa de bits, complejidad y calidad de audio.
[0039] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para mapear un símbolo de una representación codificada aritméticamente, que representa al menos dos bits más significativos de al menos un valor espectral, en los al menos dos bits más significativos del al menos un valor espectral. Por consiguiente, se puede lograr que los dos o más bits más significativos estén representados por un símbolo único de la representación codificada aritméticamente (que es parte de la información de audio codificada), que permite una buena consideración de un contexto de codificación/decodificación y de las dependencias estadísticas entre valores espaciales adyacentes (cuantificados).
[0041] En una realización preferida, la decodificación aritmética (no abarcada por la redacción de las reivindicaciones) está configurada para determinar posiciones de bit (por ejemplo, ponderaciones de bit) de los al menos dos bits más significativos (por ejemplo, designada en el presente documento como “numbits” y “numbits-1”) y asignar los al menos dos bits más significativos determinados por un símbolo de la representación codificada aritméticamente a las posiciones de bit determinadas. Las posiciones de bit se pueden determinar, por ejemplo, sobre la base de un número de los llamados “símbolos de escape”, que también se pueden denominar como “VAL_ESC”. Por ejemplo, las posiciones de bit se pueden determinar individualmente para símbolos diferentes de la representación codificada aritméticamente. Por consiguiente, se puede asignar una ponderación numérica adecuada a los bits más significativos, y también se puede determinar si uno o más bits menos significativos y uno o más bits intermedios (cuyas posiciones de bits están entre el uno o más bits menos significativos y los dos o más bits más significativos) están asociados con un valor espectral. Por lo tanto, se puede decidir si todavía debe haber una decodificación de uno o más bits menos significativos para los valores espectrales respectivos (y, opcionalmente, de uno o más bits intermedios para el respectivo valor espectral). Además, al usar este concepto, es posible evitar la codificación y decodificación de los bits menos significativos para dichos valores espectrales para los cuales los dos o más bits más significativos son suficientes para representar completamente el valor espectral. Por ejemplo, esto es válido para los valores espectrales que se encuentran dentro de un rango entre 0 y 3 (en el caso de que haya dos bits más significativos).
[0043] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para decodificar, para todos los valores espectrales para los cuales se han decodificado dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos y un bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y los dos o más bits más significativos. Por consiguiente, es posible decodificar todos los bits de una representación de número binario de un valor espectral cuantificado, excepto el bit menos significativo. Por ejemplo, es posible decodificar todos los bits de las representaciones numéricas binarias (y posiblemente con signo) de todos los valores espectrales, con la excepción del bit menos significativo, para todos los valores espectrales distintos de cero. Por lo tanto, se puede obtener una buena representación del espectro, en donde se asegura que un error máximo para cada valor espectral se limita al bit menos significativo, independientemente de la cuestión de si la representación codificada del bit menos significativo para el valor espectral respectivo se puede incluir o no en la representación de audio codificada debido a las restricciones de la tasa de bits.
[0045] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para decodificar, en una primera fase de decodificación (por ejemplo, etapa 3 de la decodificación), dos o más bits más significativos por valor espectral, y para todos los valores espectrales para los cuales se decodifican dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos (que se decodifican en decodificar en forma conjunta) y un bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y los dos o más bits más significativos. Además, en la primera fase de decodificación, para todos los valores espectrales para los cuales se decodifican dos o más bits más significativos y para los cuales los dos o más bits más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor distinto de cero, se decodifican los signos.
[0046] Además, el decodificador de audio está configurado para omitir selectivamente, en la primera fase de decodificación, una decodificación de un signo para los valores espectrales para los cuales los dos o más bits más significativos, y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero. Además, el decodificador de audio está configurado para obtener selectivamente, en una segunda fase de decodificación (por ejemplo, etapa 6 de la decodificación) que sigue a la primera fase de decodificación, la información de signo para los valores espectrales para los cuales los dos o más bits más significativos y cualquiera de los bits intermedios - en la medida que los bits intermedios estén presentes- indican un valor cero y para los cuales una información de bit menos significativo indica un valor distinto de cero.
[0048] Por consiguiente, no se realiza ninguna decodificación de signos en la primera fase si los bits decodificados en la primera fase (a saber, los dos o más bits más significativos y cualquier bit intermedio que pueda estar presente) indican que un valor absoluto del valor espectral no es mayor que una contribución de un bit menos significativo. Por lo tanto, la decodificación del signo se pospone hasta la decodificación real del bit menos significativo. Tal procedimiento es ventajoso, ya que se puede evitar que un signo se decodifique "demasiado pronto" y en vano, lo que podría ocurrir si el bit menos significativo correspondiente al valor espectral respectivo no se incluye en el flujo de bits debido a un agotamiento de un presupuesto de bits.
[0050] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado usar secuencialmente bits posteriores de una secuencia de bits de información de bit menos significativo (por ejemplo, lsbs[]) a fin de obtener valores de bit menos significativos asociados con los valores espectrales. Por consiguiente, se puede lograr que haya una secuencia de bits contigua que represente los bits menos significativos (cualquier signo, en la medida en que sea necesario). Al acortar esta secuencia de bits (por ejemplo, lsbs []), una tasa de bits requerida para la transmisión de la representación de audio codificada se puede ajustar fácilmente en el lado de un codificador de audio, y el decodificador de audio puede muy fácilmente, y sin un mapeo de bits complejo, adaptarse a tal ajuste de la tasa de bits (o a una longitud variable o lsbs []).
[0052] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para usar un bit único (por ejemplo etapa 6, bit0) de la secuencia de bits de información de bit menos significativo (por ejemplo lsbs[]) para los respectivos valores espectrales para los cuales los dos o más valores de bit más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor distinto de cero, en donde el bit único de la secuencia de bits de información de bit menos significativo se usa a fin de obtener un valor de bit menos significativo en este caso. Además, el decodificador de audio está configurado para usar un solo bit (por ejemplo, etapa6, bit0) de la secuencia de bits de información de bits menos significativos para los valores espectrales respectivos para los cuales los dos o más bits más significativos y cualquier bit intermedio, en la medida en que los bits intermedios estén presentes, indican un valor cero, y para los cuales el bit único usado de la secuencia de bits de información de bits menos significativos confirma el valor cero (por ejemplo, el valor "0" del bit 0 en la etapa 6). Además, el decodificador de audio está configurado para usar dos bits posteriores (por ejemplo bit 0 y bit 1 en la etapa 6) de la secuencia de bits de información de bit menos significativo para los respectivos valores espectrales para los cuales los dos o más valores más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero, y para el cual el primero de los bits usados de la secuencia de bits de información de bit menos significativo indica una desviación del valor cero por un valor de bit menos significativo (valor “1” de bit0 en la etapa 6) , en donde un segundo de los bits usados (por ejemplo bit1 en la etapa 6) de la secuencia de bits de información de bit menos significativo determina un signo del respectivo valor espectral.
[0054] Mediante el uso de tal mecanismo, se puede lograr una alta eficiencia de tasa de bits. Solo existe una secuencia de bits contigua (por ejemplo, lsbs []) para la codificación y decodificación de los bits menos significativos, en donde esta única secuencia de bits contigua también contiene selectivamente la información de signo para dichos valores espectrales que solo se desvían de un valor cero por un valor menos significativo valor de bit (es decir, para el cual los dos o más bits más significativos y cualquiera de los quiera de los bits intermedios (en la medida en que estén presentes los bits intermedios) indican un valor cero).
[0056] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para decodificar bits menos significativos a partir de un bit menos significativo asociado con un valor espectral de frecuencia más baja y prosiguiendo hacia valores espectrales asociados con frecuencias cada vez más altas, de modo que los valores espectrales (por ejemplo, todos los valores espectrales que comprenden más bits que los dos o más bits más significativos) se refinan mediante una información de bit menos significativo en un rango de un valor espectral de frecuencia más baja hasta un valor espectral para el cual está disponible una última información de bit menos significativo, y de modo que (por ejemplo, todos) los valores espectrales (por ejemplo, incluso los valores espectrales decodificados que comprenden más bits que los dos o más bits más significativos) que tienen frecuencias asociadas más altas que una frecuencia asociada con el valor espectral para el cual está disponible la última información de bit menos significativo permanecen sin refinar. En otras palabras, los valores espectrales en un rango de frecuencia más baja (desde el valor espectral de frecuencia más baja hasta un valor espectral que tiene asociada la última información de bit menos significativo) se refinan usando una información de bit menos significativo, mientas que los valores espectrales asociados con frecuencias más altas permanecen sin refinar. En consecuencia, la resolución en el rango de frecuencia baja perceptualmente más importante aumenta al utilizar un refinamiento de bit menos significativo, mientras que solo los dos o más bits más significativos (y los bits intermedios, si están disponibles) se usan en un rango de frecuencia más alta, que es perceptualmente menos importante. En consecuencia, la mejor impresión de audición posible se puede obtener sobre la base de la tasa de bits disponible, en donde también existe un mecanismo simple para el cual se proporcionan información de bits menos significativos de los valores espectrales. Además, los valores espectrales se pueden refinar desde un valor espectral de frecuencia más baja hasta un valor espectral al que se asocia la última información de bit menos significativo.
[0058] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para ser conmutable entre un primer modo, en que la decodificación de valores espectrales en un rango de frecuencia más alta se omite (por ejemplo, se omite completamente) en respuesta a una señalización del codificador. y en que se decodifican los bits menos significativos para todos los valores espectrales para los cuales se decodifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y un segundo modo, en que se decodifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se decodifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se decodifican uno o más bits más significativos y que comprenden más bits que los bits más significativos.
[0060] En otras palabras, el decodificador de audio es conmutable entre dos modos, que utilizan mecanismos significativamente diferentes para manejar un agotamiento de un presupuesto de bits.
[0062] En el primer modo, todos los valores espectrales en un rango de frecuencia más baja se codifican (y decodifican) completamente que incluyen el bit menos significativo, mientras que todos los valores espectrales en un rango de frecuencia más alta son descartados por completo por el codificador, incluso si no son cero y, por consiguiente, no se decodifican en el lado del decodificador. En el segundo modo, al menos los bits más significativos se codifican para todos los valores espectrales distintos de cero (y, por lo tanto, también se decodifican), pero los bits menos significativos solo se codifican (y se decodifican) si (o siempre que) existe aún un presupuesto de bits disponible.
[0063] Sin embargo, se ha encontrado que la posibilidad de cambiar entre los dos modos diferentes permite que el decodificador de audio se adapte a condiciones de transmisión variables. Por ejemplo, se ha encontrado que el primer modo es a veces más ventajoso que el segundo modo, por ejemplo, si solo existe una tasa de bits muy pequeña disponible. Por otro lado, también se ha encontrado que el primer modo no proporciona buenos resultados en presencia de una tasa de bits suficientemente alta, donde las representaciones binarias de muchos valores espectrales comprenden bits menos significativos además de los dos o más bits más significativos. En consecuencia, el decodificador de audio puede operar con buenos resultados en circunstancias en las que solo existe unos pocos bits menos significativos y en circunstancias donde existe un número comparativamente grande de bits menos significativos (en donde la operación en el segundo modo es típicamente problemática en el primer caso, mientras que la operación en el segundo modo es típicamente muy ventajosa en el segundo caso).
[0065] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para evaluar una bandera de flujo de bits que se incluye en la representación de audio codificada a fin de decidir si el codificador de audio opera en el primer modo o en el segundo modo. Por consiguiente, la conmutación entre el primer modo y el segundo se puede controlar mediante un codificador de audio, que generalmente comprende un buen conocimiento sobre qué modo es el más ventajoso. Además, la complejidad del decodificador de audio se puede reducir, ya que el decodificador de audio no necesita decidir por sí mismo si se debe usar el primer modo o el segundo.
[0067] En otra realización, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para decodificar en forma conjunta dos o más bits más significativos por valor espectral para al menos dos valores espectrales sobre la base de los respectivos códigos de símbolo, en donde un respectivo código de símbolo representa dos o más bits más significativos por valor espectral para al menos dos valores espectrales. Tal agrupación de valores espectrales, en la que dos o más valores espectrales están representados por un símbolo único de la representación codificada aritméticamente, también es particularmente eficiente, porque a menudo existe cierta correlación entre los valores espectrales adyacentes y porque no es necesario codificar individualmente la posición de bit para cada uno de los dos bits más significativos. Sin embargo, naturalmente, puede suceder que los "bits más significativos" de uno de los valores espectrales sean ambos "cero", porque la posición de los bits está típicamente determinada por el valor espectral que tiene un valor absoluto mayor.
[0069] Una realización según la invención crea un decodificador de audio (no abarcado por la redacción de las reivindicaciones) para proporcionar una información de audio decodificada sobre la base de una información de audio codificada. El decodificador de audio está configurado para obtener valores espectrales decodificados sobre la base de una información codificada que representa los valores espectrales. El decodificador de audio está configurado para decodificar uno o más bits más significativos sobre la base de los respectivos códigos de símbolo para una pluralidad de valores espectrales, y para decodificar uno o más bits menos significativos para uno o más de los valores espectrales. En particular, el decodificador de audio está configurado para ser conmutable entre un primer modo, en que la decodificación de valores espectrales en un rango de frecuencia más alta se omite (por ejemplo, se omite completamente) en respuesta a una señalización del codificador. y en que se decodifican los bits menos significativos para todos los valores espectrales para los cuales se decodifican uno o más bits más significativos (o se han decodificado) y que comprenden más bits que los bits más significativos, y un segundo modo en que se decodifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se decodifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se decodifican uno o más bits más significativos (o se han decodificado) y que comprenden más bits que el uno o más bits más significativos. Además, el decodificador de audio está configurado para proporcionar la información de audio decodificada usando los valores espectrales.
[0071] Esta realización se basa en la idea de que el primer modo o el segundo modo pueden ser más ventajosos en términos de una compensación entre la complejidad, la tasa de bits y la calidad de audio de acuerdo con las circunstancias. El decodificador de audio puede manejar dos enfoques diferentes para tratar con un agotamiento de un presupuesto de bits. Cuando se opera en el primer modo, el decodificador de audio puede manejar situaciones en las que un codificador de audio omite una codificación de valores espectrales en el rango de frecuencia más alta, mientras que los valores espectrales en un rango de frecuencia baja están totalmente codificados (incluidos los bits menos significativos). En el segundo modo, el decodificador de audio maneja una información de audio codificada en la que los bits menos significativos se omiten de forma selectiva para algunos de los valores espectrales, incluso aunque uno o más de los bits más significativos estén codificados para todos los valores espectrales. Como ya se mencionó anteriormente, ambos enfoques tienen sus ventajas de acuerdo con algunos otros parámetros del sistema (como, por ejemplo, la tasa de bits disponible), y el decodificador de audio descrito en el presente documento puede proporcionar buenos resultados bajo condiciones variables.
[0072] Este decodificador de audio también se puede suplementar con alguna de las características y funcionalidades del decodificador de audio mencionado anteriormente.
[0074] En una realización preferida, el decodificador de audio (no abarcado por la redacción de las reivindicaciones) está configurado para obtener bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y el bit menos significativo asociado con un valor espectral dado de una secuencia de bits contigua en el primer modo. Además, el decodificador de audio está configurado para obtener bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y el bit menos significativo asociado con un valor espectral dado de una secuencia de bit separada o de ubicaciones de bit separadas, no contiguas de una secuencia de bit en el segundo modo.
[0076] En otras palabras, en el primer modo, puede haber una única secuencia de bits contigua que codifica tanto los bits intermedios (en la medida en que los bits intermedios estén presentes) como los bits menos significativos. Esta secuencia de bits contigua, que comprende tanto la información sobre los bits intermedios como la información sobre los bits menos significativos (pero que normalmente no comprende información sobre el uno o más bits más significativos) se puede acortar fácilmente en el caso de que se reduzca un presupuesto de tasa de bits. Por otro lado, en el segundo modo, la información que representa los bits menos significativos y la información que representa los bits intermedios están contenidas en secuencias de bits separadas o en subsecuencias separadas de una secuencia de bits. En consecuencia, existe una secuencia de bits que obtiene la información sobre los bits intermedios (y, opcionalmente, información de signo), y existe una secuencia que comprende información sobre los bits menos significativos (y, opcionalmente, sobre los signos de valores que están muy cerca de cero). En consecuencia, debido a que la información sobre los bits menos significativos se encuentra en una secuencia separada cuando se opera en el segundo modo, es fácil eliminar o acortar la secuencia que comprende los bits menos significativos, para reducir así la tasa de bits requerida. El decodificador de audio se puede adaptar fácilmente a una longitud variable de la secuencia que comprende los bits menos significativos, ya que el refinamiento de bits menos significativos de los valores espectrales se aplica a más o menos valores espectrales, de acuerdo con cuántos bits están contenidos en la secuencia que representa los bits menos significativos.
[0077] Una realización de acuerdo con la invención crea un codificador de audio para proporcionar una información de audio codificada sobre la base de una información de audio de entrada. El codificador de audio está configurado para obtener valores espectrales que representa un contenido de audio de la información de audio de entrada. El codificador de audio también está configurado para codificar al menos una pluralidad de los valores espectrales, a fin de obtener una información codificada que representa los valores espectrales (que puede ser una parte de la información de audio codificada). Además, el codificador de audio está configurado para codificar de forma conjunta dos o más bits más significativos por valor espectral, para obtener los respectivos códigos de símbolo para un conjunto de valores espectrales usando una codificación aritmética. Un respectivo código de símbolo puede representar dos o más bits más significativos por valor espectral para uno o más valores espectrales.
[0078] El decodificador de audio también está configurado para codificar uno o más bits menos significativos asociados con uno o más de los valores espectrales en dependencia de un presupuesto de bits disponible, de modo que se codifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos. Además, el codificador de audio está configurado para proporcionar la información de audio codificada usando la información codificada que representa los valores espectrales.
[0080] Este codificador de audio se basa en la idea de que se puede lograr un buen equilibrio entre complejidad, tasa de bit y calidad de audio mediante la omisión selectiva de una codificación de uno o más bits menos significativos para valores espectrales para los cuales se codifican dos o más bits más significativos usando una codificación aritmética. Se ha encontrado que omitir la codificación de uno o más bits menos significativos no es particularmente perjudicial en el caso de que haya al menos dos bits más significativos que estén codificados.
[0082] En particular, se ha encontrado que omitir la codificación de los bits menos significativos para uno o más valores espectrales (cuantificados) para los cuales se codifican los bits más significativos provoca una degradación mucho menor de la calidad de audio en comparación con la omisión total de una codificación de algunos valores espectrales para permanecer dentro de un presupuesto de bits.
[0084] En una realización preferida, la codificación aritmética está configurada para determinar posiciones de bit (por ejemplo, ponderaciones de bit) de los al menos dos bits más significativos (por ejemplo, numbits y numbits-1), por ejemplo, individualmente para símbolos diferentes de la representación codificada aritméticamente, e incluir en la representación codificada aritméticamente una información, por ejemplo, una secuencia de escape que comprende uno o más símbolos “VAL_ESC”, que describe las posiciones de bit. Por consiguiente, las posiciones de bit o ponderaciones de bits de los dos o más bits más significativos se pueden adaptar a los valores espectrales reales, en donde los bits más significativos pueden tener una ponderación de bits grande para valores espectrales comparativamente grandes y en donde los bits más significativos pueden tener un ponderación de bits comparativamente pequeña para valores espectrales comparativamente más pequeños. Por consiguiente, algunos valores espectrales cuantificados se pueden codificar completamente usando los dos o más bits más significativos, en donde no quedan bits (o bits intermedios) menos significativos. En contraste, otros valores espectrales comparativamente más grandes se pueden codificar usando dos o más bits más significativos y usando al menos un bit menos significativo. Para tales valores espectrales comparativamente grandes para los que existe al menos un bit menos significativo, además de los dos o más bits más significativos, el codificador puede decidir de manera flexible si codificar o no el bit menos significativo, dependiendo de si un presupuesto de bits disponible está agotado o no. Sin embargo, cuanto mayor sea la resolución de cuantificación, mayor el número de valores espectrales que comprenden uno o más bits menos significativos, además de los dos o más bits más significativos. Por consiguiente, la posibilidad de guardar bits al no codificar los bits menos significativos es particularmente alta para la cuantificación fina.
[0086] En una realización preferida, el codificador de audio está configurado para mapear al menos dos bits más significativos del al menos un valor espectral en un símbolo de la representación codificada aritméticamente, que representa los al menos dos bits más significativos del al menos un valor espectral. Se ha encontrado que la codificación conjunta de dos o más bits más significativos que usan un símbolo de una representación codificada aritméticamente es particularmente eficiente, ya que se pueden aprovechar las correlaciones entre los bits más significativos de valores espectrales adyacentes, por ejemplo, cuando se determina un contexto para la codificación aritmética.
[0088] En una realización preferida, el codificador de audio está configurado para codificar, para todos los valores espectrales para los cuales se codifican dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos y el bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y los dos o más bits más significativos. Por consiguiente, todos los valores espectrales para los cuales se codifican dos o más bits más significativos están codificados realmente con una buena resolución. Para tales valores espectrales, siempre se codifican todos los bits, excepto el bit menos significativo, lo que conlleva una buena resolución y tiene el efecto de que solo se afectan los bits menos significativos en caso de que se agote un presupuesto de bits. Por lo tanto, se puede mantener una muy buena impresión auditiva.
[0090] En una realización preferida, el codificador de audio está configurado para codificar, en una primera fase de codificación, dos o más bits más significativos por valores espectrales y también para codificar, en la primera fase de codificación, los valores espectrales para los cuales se codifican dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos (que se codifican en forma conjunta) y un bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y los dos o más bits más significativos. Además, el codificador está configurado para codificar, en la primera fase de codificación, signos para todos los valores espectrales para los cuales se codifican dos o más bits más significativos y para los cuales los dos o más bits más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor distinto de cero. Sin embargo, el codificador de audio está configurado para omitir selectivamente, en la primera fase de codificación, una codificación de un signo para los valores espectrales para los cuales los dos o más valores más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero. Por consiguiente, en la primera fase de codificación, se codifican los bits más significativos y los bits intermedios (en la medida que están presentes los bits intermedios entre los bits más significativos y el bit menos significativo). Sin embargo, en la primera fase de codificación, los signos no solo se codifican si los dos o más bits más significativos y los bits intermedios indican un valor distinto de cero. En otras palabras, en la primera fase de codificación, los signos no se codifican si los valores espectrales son tan pequeños que difieren de cero solo por un valor de bit menos significativo (que es el caso si la ponderación de bits de los dos o más bits más significativos) se elige de tal manera que los bits más significativos sean todos cero, lo que, por ejemplo, puede ocurrir si las ponderaciones de bits de un valor espectral dado son afectados por uno o más valores espectrales adyacentes que son más grandes que el valor espectral dado).
[0092] Además, el codificador de audio está configurado para codificar selectivamente, en una segunda fase de codificación que sigue a la fase de codificación, la información de signo para los valores espectrales para los cuales los dos o más bits más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero y para los cuales una información de bit menos significativo indica un valor distinto de cero. En otras palabras, para valores espectrales muy pequeños, que difieren de cero solo por un valor de bit menos significativo, el signo solo se codifica en la segunda fase de codificación, en donde una decisión de si la segunda fase de codificación se ejecuta realmente (o se completa) para un valor espectral dado (es decir, si la información de bit menos significativa se incluye en la información de audio codificada) depende del presupuesto de bits. Por lo tanto, la primera fase de codificación se simplifica, y la información de signo solo se codifica (por ejemplo, se incluye en la información de audio codificada) en la segunda fase de codificación, a menos que ya esté claro a partir de la codificación de los bits más significativos y cualquiera de los bits intermedios (en la medida que existan bits intermedios), en cualquier caso es necesaria una información de signo. Se evita la codificación de información innecesaria y se maximiza la eficiencia, ya que no está claro desde el principio para cuáles valores espectrales se puede realizar la segunda fase de codificación. La decisión final sobre si la segunda fase de codificación se realizará solo se puede hacer cuando se sabe cuántos bits se necesitan para la decodificación de los bits más significativos y cualquiera de los bits intermedios, y cuántos bits ya se ha usado por la codificación de otros bits menos significativos.
[0094] En una realización preferida, el codificador de audio está configurado solo para incluir una información de signo en la representación de audio codificada para los valores espectrales que solo difieren de cero por un bit menos significativo si el bit menos significativo de tales valores espectrales está realmente codificado (incluido en la representación de audio codificada). Por consiguiente, se puede evitar una inclusión de información innecesaria en la información de audio codificada (o representación de audio codificada). En otras palabras, una información de signo se incluye para todos los valores espectrales que son distintos de cero incluso cuando no se considera el bit menos significativo. Para valores espectrales que no son cero solo cuando se considera el bit menos significativo, la información de la señal solo se incluye en la representación de audio codificada si la información de bit menos significativa se incluye realmente en la representación de audio codificada.
[0096] En una realización preferida, el codificador de audio está configurado para proporcionar secuencialmente bits posteriores de una secuencia de bits de información de bit menos significativo a fin de codificar el valor de bit menos significativos asociados con los valores espectrales. Por consiguiente, se proporciona una secuencia de bits contigua o un flujo de bits que solo comprende la información de bit menos significativa y posiblemente alguna información de signo para tales valores espectrales que no son cero solo cuando se considera el bit menos significativo. En consecuencia, existe una secuencia separada de información de bit menos significativa (incluida la información de signo asociada), que se puede acortar u omitir sin afectar la codificación de los bits más significativos y de los bits intermedios (y de cualquier información de signo que sea relevante incluso cuando se deja el bit menos significativo sin considerar).
[0098] En una realización preferida, el codificador de audio está configurado para proporcionar un bit único de la secuencia de bits de información de bit menos significativo para los respectivos valores espectrales para los cuales los dos o más valores de bit más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor distinto de cero, en donde el bit único usado de la secuencia de bits de información de bit menos significativo se usa para codificar un valor de bit menos significativo. Además, el codificador de audio está configurado para proporcionar un bit único de la secuencia de bits de información de bit menos significativo para los respectivos valores espectrales para los cuales los dos o más valores más significativos y cualquiera de los bits intermedios, en la medida que están presentes los bits intermedios, indican un valor cero y para el cual el bit único proporcionado de la secuencia de bits de información de bit menos significativo confirma el valor cero. Además, el codificador de audio está configurado para proporcionar dos bits posteriores de la secuencia de bits de información de bit menos significativo para los respectivos valores espectrales para los cuales los dos o más bits más significativos, y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero y para el cual un primer bit de los bits proporcionados de la secuencia de bits de información de bit menos significativo indica la desviación del valor cero por un valor de bit menos significativo, en donde un segundo de los bits proporcionados de la secuencia de bits de información de bit menos significativo codifica un signo del respectivo valor espectral. En otras palabras, la secuencia de bits de información de bit menos significativo típicamente comprende un bit por valores espectrales, pero comprende dos bits por valor espectral si el valor espectral desvía de un valor de cero por un valor de bit menos significativo. En este último caso, la información de signo se incluye en la secuencia de bits de información de bit menos significativo, porque solo es necesaria si la parte respectiva de la información de bit menos significativo está realmente codificada o se transmite realmente a un decodificador de audio, o es evaluado realmente por un decodificador de audio.
[0100] En otras palabras, el signo se incluye selectivamente en la secuencia de bits de información de bit menos significativo para valores espectrales para los cuales los bits más significativos y bits intermedios (si están presentes) indican un valor cero y para los cuales el bit menos significativo indica un valor distinto de cero (que desvía de un valor de cero por un valor de bit menos significativo).
[0102] En una realización preferida, el codificador de audio está configurado para codificar los bits menos significativos a partir de un bit menos significativo asociado con un valor espectral de frecuencia más baja y prosiguiendo hacia valores espectrales asociados con frecuencias cada vez más altas. Por consiguiente, información codificada para refinar valores espectrales (por ejemplo, para refinar todos los valores espectrales que comprenden más bits que el uno o más bits más significativos) por información de bit menos significativo se proporciona en un rango de un valor espectral de frecuencia más baja hasta un valor espectral para el cual se proporciona la “última” información de bit menos significativo. Además, no se proporciona información codificada para refinar valores espectrales por información de bit menos significativo para (todos) los valores espectrales (incluso para valores espectrales codificados que comprenden más bits que los dos o más bits más significativos) que tienen frecuencias asociadas más altas que a frecuencia asociada con un valor espectral para el cual se proporciona la última información de bit menos significativo. Expresado de modo diferente, los bits no usados, del presupuesto de bits se utilizan para refinar los valores espectrales en una región de frecuencia baja con una información de bit menos significativa, hasta que se agota el presupuesto de bits. Los valores espectrales en una región de frecuencia más alta no se refinan con la información de bit menos significativo si se agota el presupuesto de bits. Tal procedimiento conlleva que se prefieren los valores espectrales en una porción de frecuencia más baja respecto de los valores espectrales en una porción de frecuencia más alta cuando se proporciona información de bit menos significativo. Esto está de acuerdo con los requerimientos psico-acústicos, ya que una impresión auditiva estará menos distorsionada por imprecisiones en una región de frecuencia más alta en comparación con imprecisiones en una región de frecuencia más baja. Por consiguiente, el codificador de audio puede decidir de manera flexible, sobre la base del presupuesto de bits, hasta qué frecuencia (valor espectral para el que se proporciona la última información de bit menos significativo) existe un refinamiento de los valores espectrales que usan la información de bit menos significativo en dependencia del presupuesto de bits.
[0104] En una realización preferida, el codificador de audio está configurado para ser conmutable entre un primer modo, en que una codificación de valores espectrales distintos de cero en un rango de frecuencia más alta se omite (por ejemplo, completamente) en caso de que un presupuesto de bits disponible se gaste (agote) por una codificación de valores espectrales en un rango de frecuencia más baja y en que los bits menos significativos se codifican para todos los valores espectrales para los cuales se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y un segundo modo en que se codifican en que uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos.
[0106] Como ya se mencionó anteriormente, la posibilidad de cambiar entre tales modos permite una codificación eficiente en diferentes entornos y bajo diferentes restricciones de tasa de bits. En el primer modo, se puede variar el número de valores espectrales codificados, y se puede omitir una codificación de valores espectrales distintos de cero en un rango de frecuencia más alta en respuesta a un agotamiento de un presupuesto de bits. En consecuencia, una impresión auditiva en un rango de alta frecuencia se degrada, pero esto puede ser aceptable en algunas circunstancias, por ejemplo, en entornos de baja tasa de bits. Por otro lado, en el segundo modo, el codificador de audio puede variar según cuántos de los valores espectrales los bits menos significativos se codifican de acuerdo con presupuesto de bits, mientras que al menos bits más significativos se codifican para todos los valores espectrales (incluso en una región de frecuencia alta). Por lo tanto, en el segundo modo, la precisión de codificación se puede reducir incluso para frecuencias más bajas en algunos casos, mientras que no existe omisión total de valores espectrales no cero (cuantificados) en la región de alta frecuencia. El segundo modo de operación, por ejemplo, puede producir una mejor impresión auditiva en condiciones de tasas de bit más altas, que pueden sufrir de una degradación significativa si se pueden omitir totalmente los valores espectrales distintos de cero en la región de alta frecuencia. Por lo tanto, el codificador de audio se puede adaptar a diferentes situaciones y requerimientos de tasa de bits de manera flexible al ser conmutable entre el primer modo y el segundo modo.
[0107] En una realización preferida, el codificador de audio está configurado para proporcionar una bandera de flujo de bits que se incluye en la información de audio codificada (o representación de audio codificada) a fin de indicar si el codificador de audio opera en el primer modo o en el segundo modo. Por consiguiente, es fácil para un decodificador de audio reconocer si se debe usar un primer modo de decodificación o un segundo modo de decodificación. El uso de una bandera de flujo de bits para una señal de este tipo es razonable, ya que el codificador de audio normalmente tiene más conocimiento sobre las circunstancias específicas que el decodificador de audio.
[0108] En una realización preferida, el codificador de audio se puede configurar para codificador en forma conjunta dos o más bits más significativos por valor espectral para al menos dos valores espectrales usando los respectivos códigos de símbolo. Por consiguiente, un respectivo código de símbolo puede representar dos o más bits más significativos por valor espectral para l menos dos valores espectrales. Se ha encontrado que dicha codificación es particularmente eficiente, ya que se pueden aprovechar las dependencias y correlaciones entre valores espectrales adyacentes. Además, la ponderación de bits de los bits más significativos se puede determinar sobre la base de ambos valores espectrales, en donde el valor espectral que tiene el valor absoluto mayor puede decidir sobre la ponderación de bit común de los bits más significativos para ambos valores espectrales. Por consiguiente, se puede reducir la sobrecarga de señalización para señalar la ponderación de bits de los bits más significativos, ya que se puede señalizar de forma conjunta para dos o más valores espectrales.
[0110] En una realización preferida, el codificador de audio está configurado para determinar un valor espectral distinto de cero de frecuencia más alta (por ejemplo, sin truncamiento de los valores espectrales) y codificar al menos dos o más bits más significativos de todos los valores espectrales no cero (cuantificados) de todos los grupos distintos de cero de valores espectrales (cuantificados). Por consiguiente, se puede asegurar que se codifican al menos bits más significativos de todos los valores espectrales no cero (cuantificados), lo que típicamente produce una buena impresión auditiva.
[0112] En una realización preferida, el codificador de audio está configurado para codificar todos los bits excepto por un bit menos significativo para todos los valores espectrales no cero (cuantificados). Además, el codificador de audio está configurado para codificar bits menos significativos para valores espectrales hasta que se agota el presupuesto de bit (por ejemplo, a partir de un valor espectral de frecuencia más baja y prosiguiendo hacia valores espectrales de frecuencia más alta). Por consiguiente, se puede lograr una buena impresión auditiva y solo se omitirá un número variable de bits menos significativos en la codificación, de acuerdo con el presupuesto de bits.
[0113] En una realización preferida, el codificador de audio está configurado para obtener a información de ganancia global que determina etapas de cuantificación de una cuantificación de valores espectrales, y que determina una demanda de bits para la codificación de los valores espectrales cuantificados. Se ha encontrado que el uso de tal información de ganancia (global) puede ser útil para ajustar la etapas de cuantificación. Sin embargo, también se ha reconocido que no es fácilmente posible realizar ajuste fino una demanda de bits cuando se utiliza una información de ganancia global. Por consiguiente, el concepto de omitir selectivamente una codificación de bits menos significativos para algunos valores espectrales se puede usar para compensar las imprecisiones en el ajuste de la demanda de bits causada por el uso de la información de ganancia global. Sin embargo, se ha encontrado que la combinación del uso de la información de ganancia global con el concepto de codificación descrito en el presente documento crea un sistema que tiene una complejidad computacional comparativamente baja y que todavía permite un buen equilibrio entre la calidad de audio y la tasa de bits. En particular, una tasa de bits fija determinada se puede utilizar completamente incluso con un ajuste de baja complejidad de la información de ganancia global al decidir de manera flexible cuántos bits menos significativos se deben codificar.
[0115] Una realización de acuerdo con la invención crea un codificador de audio para proporcionar una información de audio codificada sobre la base de una información de audio de entrada. El codificador de audio está configurado para obtener valores espectrales que representa un contenido de audio de la información de audio de entrada. El codificador de audio está configurado para codificar al menos una pluralidad de los valores espectrales, a fin de obtener una información codificada que representa los valores espectrales. El codificador de audio está configurado para codificar uno o más bits más significativos usando los respectivos códigos de símbolo para una pluralidad de los valores espectrales, y codificar uno o más bits menos significativos para uno o más de los valores espectrales, en donde un respectivo código de símbolo representa uno o más valores de bit más significativos para uno o más valores espectrales. El codificador de audio está configurado para ser conmutable entre un primer modo en que una codificación de valores espectrales distintos de cero en un rango de frecuencia más alta se omite (por ejemplo, completamente) en caso de que un presupuesto de bits disponible se gaste (por ejemplo, se agote) por valores espectrales codificados en un rango de frecuencia más baja y en que los bits menos significativos se codifican para todos los valores espectrales para los cuales se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y un segundo modo en que se codifican en que uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos. El codificador de audio está configurado para proporcionar la información de audio codificada usando la información codificada que representa los valores espectrales.
[0117] Este codificador de audio se basa en las consideraciones mencionadas anteriormente para el codificador de audio similar y también para el decodificador de audio similar. En particular, mientras se puede cambiar entre el primer modo y el segundo modo, el codificador de audio se puede adaptar a diferentes situaciones de codificación y requerimientos de tasa de bits.
[0119] En una realización preferida, el codificador de audio está configurado para codificar uno o más bits más significativos de todos los valores espectrales distintos de cero o de todos los grupos distintos de cero de valores espectrales en el segundo modo. Por consiguiente, se puede alcanzar una buena impresión auditiva.
[0121] En una realización preferida, el codificador de audio está configurado para limitar, cuando se opera en el primer modo, un rango de frecuencia para el cual se codifican los valores espectrales, en caso de que un presupuesto de bits sea insuficiente, de modo que uno o más valores espectrales (por ejemplo, en un rango de frecuencia alta) se dejan sin considerar en la codificación de valores espectrales. Por lo tanto, en el primer modo se usa una limitación selectiva del rango de frecuencia, en dependencia de un presupuesto de bits, en donde la limitación del rango de frecuencia ayuda a guardar bits.
[0123] En una realización preferida, el codificador de audio está configurado para determinar, cuando se opera en el primer modo, un valor de frecuencia máxima y codificar, cuando se opera en el primer modo, los valores espectrales hasta la frecuencia máxima y dejar, cuando se opera en el primer modo, valores espectrales por encima de la frecuencia máxima sin codificar incluso si los valores espectrales son distintos de cero (o tienen bits más significativos distintos de cero). Además, el codificador de audio está configurado para seleccionar, cuando se opera en el primer modo, el valor de frecuencia máxima en dependencia de un cálculo o estimación de una demanda de bits para codificar todos los valores espectrales, de modo que se reduce un número de valores espectrales sea codificado si la demanda de bits calculada o estimada puede superar un presupuesto de bits. Además, el codificador de audio está configurado para determinar, cuando se opera en el segundo modo, el valor de frecuencia máxima (por ejemplo, es igual a un valor de frecuencia máxima real) y codificar, cuando se opera en el segundo modo, valores espectrales hasta la frecuencia máxima y dejar, cuando se opera en el segundo modo, valores espectrales por encima de la frecuencia máxima sin codificar. Cuando se opera en el segundo modo, el valor de frecuencia máxima se selecciona de modo que al menos uno o más bits más significativos de todos los valores espectrales distintos de cero o de todos los grupos distintos de cero de valores espectrales se codifiquen y de modo tal que, a lo sumo, los valores espectrales se dejan sin codificar. En otras palabras, el codificador de audio utiliza diferentes criterios para la selección del valor de frecuencia máxima en los diferentes modos. En el primer modo, el valor de frecuencia máxima se elige en función de la demanda de bits, en donde los valores espectrales no cero (cuantificados) se dejan sin codificar en caso de que el presupuesto de bits sea demasiado pequeño. Por otro lado, en el segundo modo, el valor de frecuencia máxima se elige de tal manera que para todos los valores espectrales cuantificados a un valor distinto de cero, se codifican al menos uno o más de los bits más significativos. Por lo tanto, se utilizan diferentes conceptos para tratar con un agotamiento de un presupuesto de bits. En el primer modo, el agotamiento de un presupuesto de bits se maneja mediante la reducción del valor de frecuencia máxima. En el segundo modo, el agotamiento de un presupuesto de bits se maneja mediante la omisión de la codificación de los valores menos significativos de uno o más valores espectrales para los cuales se codifican los bits más significativos.
[0125] En una realización preferida, el codificador de audio está configurado para incluir una información que describe la frecuencia máxima en la información de audio codificada. En consecuencia, un decodificador de audio sabe cuántos valores espectrales se deben decodificar. La información que describe la frecuencia máxima se puede usar tanto para limitar el número de valores espectrales codificados (y decodificados) debido a un agotamiento de un presupuesto de bits como también para señalar que todos los valores espectrales por encima de la frecuencia máxima son cero (por ejemplo, realmente cero incluso sin truncamiento).
[0127] En una realización preferida, el codificador de audio está configurado para tomar una decisión de modo si usar el primer modo o el segundo modo depende de una tasa de bits disponible (por ejemplo, de manera que el primer modo se usa para tasas de bits comparativamente más pequeñas y de tal manera que el segundo modo se usa para tasas de bits comparativamente más altas).
[0129] Tal mecanismo es útil, ya que el segundo modo es más adecuado para tratar con un agotamiento de un presupuesto de bits en el caso de tasas de bits más altas. En contraste, el primer modo a veces trae mejores resultados que el segundo modo en el caso de tasas de bits comparativamente bajas.
[0131] En otra realización preferida, el codificador de audio está configurado para tomar una decisión de modo si usar el primer modo o el segundo modo en dependencia de una información sobre un número de valores espectrales o grupos de valores espectrales que comprenden, además a uno o más bits más significativos codificados en una etapa de codificación de bits más significativos, uno o más bits menos significativos, cuya codificación se puede omitir selectivamente en dependencia de una demanda de bits y un presupuesto de bits. Tal concepto es útil ya que el segundo modo es el más adecuado para los casos en los que (después de la cuantificación) existe un gran número de bits menos significativos. Tal número grande de bits menos significativos está presente, por ejemplo, en el caso de una alta tasa de bits, donde se puede realizar una codificación con una alta resolución (y en la que se puede usar una cuantificación fina).
[0133] En una realización preferida, el codificador de audio está configurado para incluir una bandera de flujo de bits en la información de audio codificada que indica si el codificador de audio opera en el primer modo o en el segundo modo. Por consiguiente, se puede informar a un decodificador de audio qué modo de decodificación usar.
[0135] En una realización preferida, el codificador de audio está configurado para codificar bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y un bit menos significativo asociado con un valor espectral dado en una secuencia de bits contigua en el primer modo. Además, el codificador de audio está configurado para codificar bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y el bit menos significativo asociado con un valor espectral dado en secuencias de bits separadas o en ubicaciones de bits separadas, no contiguas (o porciones de flujo de bits) de una secuencia de bit en el segundo modo. Por consiguiente, cuando se opera en el primer modo, existe una secuencia de bits contigua que representa tanto los bits intermedios como los bits menos significativos. En contraste, cuando se opera en el segundo modo, los bits intermedios y los bits menos significativos se proporcionan en secuencias separadas (o en porciones separadas de una secuencia común) lo que permite un acortamiento simple de la secuencia que representa los bits menos significativos. Por consiguiente, una adaptación al presupuesto de bits es fácilmente posible, incluso después de completar la codificación. Esto facilita la adaptación al presupuesto de bits.
[0137] En una realización preferida, el codificador de audio está configurado para codificar, cuando se opera en el primer modo, a la información de signo asociado con un valor espectral en una secuencia de bits que se asocia con bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y bits menos significativos. Además, el codificador de audio está configurado para codificar selectivamente, cuando se opera en el segundo modo, a la información de signo asociado con un valor espectral en una secuencia de bits que se asocia con bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, o en una secuencia de bits asociad con bits menos significativos (y la información de signo) de modo que la información de signo para los valores espectrales que se desvían de cero solo por un valor de bit menos significativo se codifican en secuencia de bits asociada con bits menos significativos (y la información de signo). Por consiguiente, la información de signo se coloca dentro de la secuencia de bits asociada con bits menos significativos (y la información de signo) en el caso de que la información de la señal solo sea necesaria cuando se evalúa la información de bit menos significativo. Por consiguiente, la información que siempre se incluye en la representación de audio codificada, a saber, la secuencia de bits que se asocia con bits intermedios y la información de signo, no comprende ninguna información que sea innecesaria en el caso de que se omita la información de bits menos significativo. Esto simplifica la escalabilidad de la tasa de bits.
[0139] Una realización de acuerdo con la invención crea un decodificador de audio para proporcionar una información de audio codificada sobre la base de una información de audio de entrada. El codificador de audio está configurado para obtener valores espectrales que representa un contenido de audio de la información de audio de entrada (por ejemplo, usando una transformación de MDCT). El codificador de audio está configurado para codificar al menos una pluralidad de los valores espectrales, a fin de obtener una información codificada que representa los valores espectrales. El codificador de audio está configurado para obtener a (global) información de ganancia que determina etapas de cuantificación de una cuantificación de valores espectrales, y que determina una demanda de bits para codificar los valores espectrales cuantificados. El codificador de audio está configurado para codificar uno o más bits más significativos usando los respectivos códigos de símbolo para una pluralidad de los valores espectrales usando una codificación aritmética, y codificar uno o más bits menos significativos para uno o más de los valores espectrales, en donde un respectivo código de símbolo representa uno o más bits más significativos por valor espectral para uno o más valores espectrales. El codificador de audio está configurado para codificar uno o más bits menos significativos asociados con uno o más de los valores espectrales en dependencia de un presupuesto de bits disponible, de modo que se codifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos. Además, el codificador de audio está configurado para proporcionar la información de audio codificada usando la información codificada que representa los valores espectrales.
[0141] Este codificador de audio se basa en el hallazgo de que el uso de una información de ganancia (o información de ganancia global) es útil para definir una cuantificación. Además, el concepto de codificar selectivamente los bits menos significativos es muy eficiente en combinación con este concepto. Para más detalles, también se hace referencia a la discusión anterior.
[0142] En una realización preferida, el codificador de audio está configurado para obtener una primera estimación de la información de ganancia basada en una energía de grupos de valores espectrales (por ejemplo, coeficientes de MDCT). Además, el codificador de audio está configurado para cuantificar el conjunto de valores espectrales (por ejemplo, un espectro de MDCT) usando la primera estimación de la información de ganancia. Además, el codificador de audio está configurado para calcular o estimar un número de bits necesarios codificar el conjunto de valores espectrales cuantificados usando la primera estimación de la información de ganancia o usando una información de ganancia refinada. Además, el codificador de audio está configurado para decidir si usar el primer modo o el segundo modo en dependencia de un número de bits necesario. Por consiguiente, una decisión sobre la cuantificación, y también una decisión sobre qué modo utilizar, se puede tomar de una manera eficiente. Dependiendo de si se debe elegir o no un procedimiento iterativo, el número de bits necesarios para codificar el conjunto de valores espectrales se puede estimar usando una cuantificación dependiente de la primera estimación de la información de ganancia o usando una cuantificación dependiente de una información de ganancia refinada iterativamente. En consecuencia, la complejidad de la determinación de la precisión de cuantificación se puede mantener razonablemente pequeña.
[0144] En una realización preferida, el codificador de audio está configurado para ser conmutable entre el primer modo y el segundo modo mencionados anteriormente. En particular, el codificador de audio está configurado para decidir si usar el primer modo o el segundo modo en dependencia de un número de bits necesario y en dependencia de un criterio que indica cuántos valores espectrales comprenden más bits que el uno o más bits más significativos. En particular, el número de bits necesarios, que se puede determinar después de decidir sobre la información de ganancia que se utilizará (primera estimación o información de ganancia refinada) se puede comparar con un presupuesto de bits, y la decisión de qué modo usar se puede hacer tanto en dependencia en esta comparación como en dependencia del criterio que indica cuántos valores espectrales comprenden más bits que el uno o más bits más significativos. Por consiguiente, el segundo modo se puede usar si existe muchos valores espectrales que comprenden uno o más bits menos significativos además del uno o más bits más significativos.
[0146] En una realización preferida, el codificador de audio está configurado para ser conmutable entre el primer modo y el segundo modo mencionados anteriormente. En este caso, el codificador de audio se puede configurar para decidir si usar el primer modo o el segundo modo en dependencia del número de bits necesarios y en dependencia de una tasa de bits, de modo que se elige el segundo modo si la tasa de bit es mayor que o igual a una tasa de bits umbral y si un número de bits calculados o estimados necesarios para codificar el conjunto de valores espectrales es mayor que un presupuesto de bits. Se ha demostrado que el uso del segundo modo es particularmente útil en dicho caso.
[0148] Además, el codificador de audio también se puede suplementar con cualquiera de las otras características mencionadas anteriormente. También se aplican las mismas ventajas descritas anteriormente.
[0150] Otras realizaciones de acuerdo con la invención crean métodos para proporcionar una información de audio decodificada sobre la base de una información de audio codificada y métodos para proporcionar una información de audio codificada sobre la base de una información de audio de entrada. Estos métodos corresponden al decodificador de audio respectivo y al codificador de audio respectivo y se pueden suplementar con cualquiera de las características y funcionalidades descritas en el presente documento con respecto al decodificador de audio o codificador de audio correspondiente.
[0152] Otras realizaciones de acuerdo con la invención comprenden un programa informático para realizar cualquiera de los métodos descritos en el presente documento.
[0154] Una realización adicional comprende un flujo de bits, que se basa en las mismas consideraciones discutidas anteriormente y que se puede suplementar con cualquiera de los elementos de información que se codificarán y decodificarán como se menciona en el presente documento.
[0156] Breve descripción de las figuras
[0158] Las realizaciones de acuerdo con la presente invención posteriormente se describirán con referencia a las figuras acompañantes, en que:
[0160] la figura 1 muestra un diagrama esquemático de bloques de un decodificador de audio, de acuerdo con una realización de la presente invención;
[0162] la figura 2 muestra un diagrama de bloques esquemático de un decodificador de audio, según otra realización de la presente invención;
[0164] la figura 3 muestra un diagrama esquemático de bloques de un codificador de audio, de acuerdo con una realización de la presente invención;
[0165] la figura 4 muestra un diagrama esquemático de bloques de un codificador de audio, de acuerdo con una realización de la presente invención;
[0166] la figura 5 muestra un diagrama esquemático de bloques de un codificador de audio, de acuerdo con una realización de la presente invención;
[0167] la figura 6 muestra un diagrama esquemático de bloques de otro codificador de audio, de acuerdo con una realización de la presente invención;
[0168] la figura 7 muestra un diagrama esquemático de bloques de un decodificador de audio de acuerdo con otra realización de la presente invención;
[0169] la figura 8 muestra un diagrama de flujo de una funcionalidad de un codificador de audio, de acuerdo con una realización de la presente invención;
[0170] la figura 9 muestra un diagrama de flujo de una funcionalidad de un decodificador de audio, de acuerdo con una realización de la presente invención;
[0171] las figuras 10a-10f muestran representaciones de código de pseudo-programa de funcionalidades de un codificador de audio, de acuerdo con una realización de la presente invención.
[0172] Las figuras 11 a-11 d muestran representaciones de código de pseudo-programa de funcionalidades de un decodificador de audio, de acuerdo con una realización de la presente invención;
[0173] la figura 12 muestra una representación gráfica de una relación señal-ruido generada por un codificador/decodificador de audio convencional;
[0174] la figura 13 muestra una representación gráfica de una relación señal-ruido proporcionada por los codificadores/decodificadores de audio de acuerdo con la presente invención; y
[0175] las figuras 14-18 muestra diagramas de flujo de métodos para la codificación de audio y decodificación de audio, de acuerdo con realizaciones de la presente invención.
[0176] 1) Decodificador de audio de acuerdo con la figura 1
[0177] La figura 1 muestra un diagrama esquemático de bloques de un decodificador de audio 100 de acuerdo con una realización de la presente invención.
[0178] El decodificador de audio 100 está configurado para recibir una información de audio codificada 110 y para proporcionar, sobre la base de la misma, una información de audio decodificada 112. El decodificador de audio 100 está configurado para obtener valores espectrales decodificados 132 sobre la base de una información codificada 130 que representa los valores espectrales, en donde la información codificada 130 puede ser parte de la información de audio codificada 110. Además, la información de audio codificada 110 opcionalmente puede comprender información adicional, como información de conformación de ruido, información de control y similares. El decodificador de audio está configurado para decodificar en forma conjunta dos o más bits más significativos por valor espectral (por ejemplo, por valor espectral cuantificado) sobre la base de los respectivos códigos de símbolo (por ejemplo, códigos de símbolo de una representación codificada aritméticamente de los bits más significativos) para un conjunto de valores espectrales usando una decodificación aritmética. Un respectivo código de símbolo puede representar dos o más bits más significativos por valor espectral para uno o más valores espectrales. Los códigos de símbolos codificados aritméticamente, por ejemplo, pueden ser parte de la información codificada 130 que representa valores espectrales.
[0179] Además, el decodificador de audio está configurado para decodificar uno o más bits menos significativos asociados con uno o más valores espectrales dependiendo de cuánta información de bits menos significativos está disponible. La información de bit menos significativo, que se puede considerar como una representación de bits menos significativos, también puede ser parte de la información codificada 130 que representa valores espectrales. En particular, el decodificador de audio se puede configurar para decodificar uno o más bits menos significativos asociados con uno o más de los valores espectrales dependiendo de cuánta información de bits menos significativos está disponible, de modo que se decodifican uno o más bits menos significativos asociados con uno o más de los valores espectrales (cuantificados), mientras que no se decodifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se decodifican uno o más bits más significativos (o se han decodificado) y que comprenden más bits que el uno o más bits más significativos.
[0181] En otras palabras, el decodificador de audio se puede configurar para decodificar bits menos significativos para algunos de los valores espectrales para los cuales se han decodificado dos o más bits más significativos, y el decodificador de audio puede omitir una decodificación de uno o más bits menos significativos para algunos otros valores espectrales para los cuales se han decodificado uno o más bits más significativos.
[0183] Expresado de manera aún diferente, el decodificador de audio, por ejemplo, solo puede refinar un subconjunto verdadero de los valores espectrales, para los cuales se han decodificado los bits más significativos, en donde el número de cuántos valores espectrales se refinan con bits menos significativos depende de cuánta información de bits menos significativos está disponible (por ejemplo, cuánta información de bit menos significativos se incluye en la información de audio codificada 110 por un decodificador de audio en vista de las restricciones de presupuesto de bits).
[0185] El decodificador de audio 100 se puede suplementar opcionalmente con cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
[0187] 2) Decodificador de audio de acuerdo con la figura 2
[0189] La figura 2 muestra un diagrama esquemático de bloques de un decodificador de audio 200, según una realización de la presente invención.
[0191] El decodificador de audio 200 está configurado para recibir información de audio codificada 210 y proporcionar, sobre la base del mismo, una información de audio decodificada 212.
[0193] La información de audio codificada 210, por ejemplo, puede comprender una información codificada 230 que representa valores espectrales, en donde la información codificada 230 que representa valores espectrales por ejemplo, puede comprender códigos de símbolos aritméticamente codificados que representa uno o más bits más significativos y una representación de los bits menos significativos y de signos. La información de audio codificada 210 puede comprender opcionalmente información adicional, como por ejemplo, información de control de información de conformación de ruido. La información adicional opcional también se puede usar en el proceso de decodificación, pero no es esencial para la presente invención.
[0195] El decodificador de audio está configurado para obtener valores espectrales decodificados 232 sobre la base de la información codificada 230 que representa los valores espectrales.
[0197] El decodificador de audio está configurado para decodificar uno o más bits más significativos sobre la base de códigos de símbolos respectivos (por ejemplo, sobre la base de códigos de símbolos codificados aritméticamente) para una pluralidad de valores espectrales, y para decodificar uno o más bits menos significativos para uno o más de los valores espectrales. Por ejemplo, el decodificador de audio puede usar los códigos de símbolos aritméticamente codificados y la representación de bits menos significativos, que se pueden incluir en la información codificada 130.
[0199] El decodificador de audio 200 está configurado para ser conmutable entre un primer modo en que la decodificación de valores espectrales en un rango de frecuencia más alta se omite (por ejemplo, se omite completamente) en respuesta a una señalización de un codificador y en que se decodifican los bits menos significativos para todos los valores espectrales para los cuales se han decodificado uno o más bits más significativos y que comprenden más bits que los bits más significativos, y un segundo modo en que se decodifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se decodifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se han decodificado uno o más bits más significativos y que comprenden más bits que los bits más significativos. En otras palabras, en el primer modo, el decodificador de audio 200 por ejemplo, puede decodificar solo valores espectrales en un rango de frecuencia más baja (por ejemplo, hasta una frecuencia determinada y señalizada por un codificador de audio) mientras se omite una decodificación de valores espectrales en un rango de frecuencia más alta (por ejemplo, por encima de la frecuencia especificada por el codificador). Sin embargo, en el primer modo, se puede decodificar una representación numérica completa de los valores espectrales para todos los valores espectrales en el rango de frecuencia más baja, de modo que los bits más significativos, cualquiera de los bits intermedios y cualquiera de los bits menos significativos se decodifiquen para todos los valores espectrales en el rango de frecuencia más baja. En contraste, en el segundo modo, el decodificador de audio solo puede decodificar bits menos significativos para algunos de los valores espectrales para los cuales se decodifican uno o más bits más significativos, pero no para todos los valores espectrales para los cuales se decodifican uno o más bits más significativos. Por lo tanto, en el segundo modo, los bits menos significativos se pueden decodificar en una región de frecuencia pero no en otra región de frecuencia (por ejemplo, en una región de frecuencia más alta).
[0200] Además, el decodificador de audio 200 está configurado para proporcionar información de audio decodificada 212 usando los valores espectrales 232. Por ejemplo, el decodificador de audio 200 puede comprender un procesamiento adicional de los valores espectrales decodificados 232, cuyos detalles, sin embargo, no son de particular relevancia para el objeto de la presente invención.
[0202] Además, se debe tener en cuenta que el decodificador de audio 200 se puede suplementar con cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
[0204] 3) Codificador de audio de acuerdo con la figura 3
[0206] La figura 3 muestra un diagrama esquemático de bloques de un codificador de audio 300 de acuerdo con una realización de la presente invención. El codificador de audio 300 está configurado para recibir una información de audio de entrada 310 y puede proporcionar una información de audio codificada 312 (que puede corresponder a la información de audio codificada 110, 210). El codificador de audio 300 está configurado para obtener valores espectrales 330 que representa un contenido de audio de la información de audio de entrada 310. Por ejemplo, el decodificador de audio 300 puede comprender opcionalmente cualquier forma de preprocesamiento, como, por ejemplo, una conversión de dominio de tiempo a dominio espectral (por ejemplo, una MDCT) y/ o una conformación espectral (en el dominio de tiempo y/o en dominio espectral) para obtener los valores espectrales 330.
[0208] Los valores espectrales 330, por ejemplo, pueden ser valores cuantificados (preferentemente número entero) en una representación de número binario con signos. Además, el codificador de audio está configurado para codificar al menos una pluralidad de los valores espectrales 330, a fin de obtener una información codificada 350 que representa los valores espectrales 330. El codificador de audio 300 por ejemplo, se puede configurar para proporcionar la información de audio codificada 312 usando la información codificada 350 que representa los valores espectrales. Sin embargo, el codificador de audio 300 también puede proporcionar opcionalmente información adicional, como información de control o información de conformación de ruido, que también se incluye en la información de audio codificada 312 (pero cuyos detalles no son de particular relevancia para la presente invención).
[0210] El codificador de audio 300 está configurado para codificar en forma conjunta dos o más bits más significativos por valor espectral, para obtener los respectivos códigos de símbolo para un conjunto de valores espectrales usando una codificación aritmética. Un respectivo código de símbolo por ejemplo, puede representar dos o más bits más significativos por valor espectral para uno o más valores espectrales.
[0212] El codificador de audio también se configura para codificar uno o más bits menos significativos asociados con uno o más de los valores espectrales 330 en dependencia de un presupuesto de bits, de modo que se codifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican dos o más bits más significativos y que comprenden más bits que los dos o más bits más significativos.
[0214] Por ejemplo, el codificador de audio 300 solo puede proporcionar bits menos significativos codificados para valores espectrales en una porción de frecuencia más baja, pero no para valores espectrales en una porción de frecuencia más alta. Al seleccionar para qué valores espectrales se proporcionan los bits menos significativos, se pueden adaptar varios bits a un presupuesto de bits.
[0216] Además, se debe tener en cuenta que el codificador de audio de acuerdo con la figura 3 se puede suplementar usando cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
[0218] 4) Codificador de audio de acuerdo con la figura 4
[0220] La figura 4 muestra un diagrama esquemático de bloques de un codificador de audio 400, de acuerdo con una realización de la presente invención.
[0222] El codificador de audio 400 está configurado para recibir una información de audio de entrada 410 y para proporcionar, sobre la base de la misma, una información de audio codificada 412. El codificador de audio está configurado para obtener valores espectrales 330 (que pueden, por ejemplo, ser valores espectrales cuantificados (con preferencia números enteros) en una representación de número binario con signo) que representan un contenido de audio de la información de audio de entrada 410. Por ejemplo, se puede usar un preprocesamiento opcional, que por ejemplo, puede comprender una conversión de dominio de tiempo a dominio de frecuencia y/o una conformación de ruido. Además, se puede usar opcionalmente una cuantificación para obtener los valores espectrales 430.
[0223] El codificador de audio está configurado además para codificar al menos una pluralidad de los valores espectrales 430, a fin de obtener una información codificada 450 que representa los valores espectrales. El codificador de audio está configurado para codificar uno o más bits más significativos (de los valores espectrales) usando los respectivos códigos de símbolo para una pluralidad de valores espectrales y codificar uno o más bits menos significativos para uno o más de los valores espectrales. Un respectivo código de símbolo por ejemplo, puede representar uno o más valores de bit más significativos para uno o más valores espectrales. El codificador de audio se puede configurar para ser conmutable entre un primer modo, en que una codificación de valores espectrales distintos de cero en un rango de frecuencia más alta se omite (por ejemplo, se omite completamente) en caso de que un presupuesto de bits disponible se gaste (se agote) por una codificación de valores espectrales en un rango de frecuencia más baja y en que los bits menos significativos se codifican para todos los valores espectrales para los cuales se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y un segundo modo en que se codifican en que uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos.
[0225] En otras palabras, el codificador de audio por ejemplo, puede codificar un número comparativamente menor (por ejemplo, no todos los valores espectrales distintos de cero) en el primer modo, pero los valores espectrales que se codifican se codifican con precisión total (que incluyen el bit menos significativo). En contraste, en el segundo modo, el codificador de audio por ejemplo, puede codificar al menos los bits más significativos de todos los valores espectrales distintos de cero, pero puede codificar algunos de los valores espectrales con resolución reducida (por ejemplo, sin codificar el bit menos significativo correspondiente). Por lo tanto, el codificador, por ejemplo, puede ser conmutable entre dos modos que proporcionan diferentes mecanismos para adaptar un número de bits al presupuesto de bits, en donde el primer modo se basa en una omisión de una codificación de valores espectrales en un rango de frecuencia más alta para el reducción del número de bits, y en donde el segundo modo se basa en una omisión de los bits menos significativos para algunos valores espectrales (para los que solo se codifican el bit más significativo y posiblemente algunos bits intermedios, y que están "parcialmente codificados").
[0227] El codificador de audio 400 de acuerdo con figura 4 se pueden suplementar por cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
[0229] 5) Codificador de audio de acuerdo con la figura 5
[0231] La figura 5 muestra un diagrama esquemático de bloques de un codificador de audio 500, de acuerdo con una realización de la presente invención. El codificador de audio 500 está configurado para recibir una información de audio de entrada 510 y para proporcionar, sobre la base de la misma, una información de audio codificada 512. El codificador de audio está configurado para obtener valores espectrales 530 que representa un contenido de audio de la información de audio de entrada 510. Por ejemplo, el codificador de audio puede usar una transformación de coseno discreta modificada (MDCT) para obtener los valores espectrales 530. En términos generales, el codificador de audio 500 puede usar opcionalmente cualquier tipo de preprocesamiento, como una conversión de dominio de tiempo a dominio de frecuencia y una conformación de ruido, y el codificador de audio 500 también puede usar opcionalmente una cuantificación. Por ejemplo, los valores espectrales 530 pueden ser valores espectrales cuantificados o pueden ser coeficientes MDCT en forma de ruido y cuantificados.
[0233] El codificador de audio está configurado para codificar al menos una pluralidad de los valores espectrales 530, a fin de obtener una información codificada 550 que representa los valores espectrales. La información codificada 550 puede ser una parte de la información de audio codificada 512. Sin embargo, la información de audio codificada 512 también puede comprender, opcionalmente, información adicional, como información de control o información de conformación espectral.
[0235] El codificador de audio 500 también se configura para obtener una información de ganancia (por ejemplo, a información de ganancia global) 560, que determina etapas de cuantificación de una cuantificación de valores espectrales, y que determina una demanda de bits para codificar los valores espectrales cuantificados.
[0237] El codificador de audio 500 está configurado para codificar uno o más bits más significativos (de los valores espectrales cuantificados) usando los respectivos códigos de símbolo para una pluralidad de los valores espectrales (cuantificados) usando una codificación aritmética, y codificar uno o más bits menos significativos para uno o más de los valores espectrales (cuantificados). Un respectivo código de símbolo por ejemplo, puede representar uno o más bits más significativos por valor espectral para uno o más valores espectrales.
[0239] El codificador de audio está configurado para codificar uno o más bits menos significativos asociados con uno o más de los valores espectrales (cuantificados) en dependencia de un presupuesto de bits disponible, de modo que se codifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos. Por ejemplo, el codificador de audio solo puede proporcionar bits menos significativos codificados para algunos de los valores espectrales, mientras que no se proporciona información de bits menos significativos para otros valores espectrales que también se beneficiarían de un refinamiento de bits menos significativo.
[0241] Además, el codificador de audio 500 está configurado para proporcionar la información de audio codificada 512 usando la información codificada 550 que representa los valores espectrales.
[0243] Cabe señalar que el codificador de audio 500 se puede suplementar por cualquiera de las características, funcionalidades y detalles descritos en el presente documento, ya sea individualmente o en combinación.
[0245] 6) Codificador de audio de acuerdo con la figura 6
[0247] La figura 6 muestra un diagrama de bloques esquemático de un codificador de audio, según la realización de la invención.
[0249] El codificador de audio de acuerdo con figura 6 se designa en su totalidad con 600.
[0251] El codificador de audio 600 está configurado para recibir una información de audio de entrada 610 y para proporcionar, sobre la base de la misma, una representación de audio codificada 612.
[0253] El codificador de audio 600 puede comprender un preprocesamiento 620 opcional, que puede aplicar algún tipo de preprocesamiento (como, por ejemplo, un filtrado, una limitación de ancho de banda, una conformación de ruido en el dominio del tiempo o similar) en la señal de audio de entrada.
[0255] El codificador de audio 600 puede comprender opcionalmente una conversión de dominio de tiempo a dominio espectral 630 que, por ejemplo, puede realizar una transformación de coseno discreta modificada o una transformación similar, como una transformación de coseno discreta modificada de bajo retardo. La conversión de dominio de tiempo a dominio espectral 630, por ejemplo, puede recibir la información de audio de entrada 610, o la versión preprocesada 622 de la misma y proporcionar valores espectrales 632.
[0257] El codificador de audio 600 puede comprender opcionalmente un preprocesamiento (adicional), que recibe los valores espectrales 632 y que, por ejemplo, puede realizar una conformación de ruido. Por ejemplo, el preprocesamiento (adicional) 640 puede realizar una conformación de ruido espectral y/o una conformación de ruido temporal. Opcionalmente, el preprocesamiento 640, por ejemplo, puede aplicar factores de escala para escalar diferentes bandas de frecuencia ("bandas de factor de escala") de acuerdo con una relevancia psicoacústica de las bandas de frecuencia (que se puede determinar, por ejemplo, mediante un modelo psicoacústico). Por consiguiente, se pueden obtener valores espectrales preprocesados 642.
[0259] El codificador de audio 600 puede comprender opcionalmente un escalado 650 que, por ejemplo, puede escalar los valores espectrales 632 o los valores espectrales preprocesados 642. Por ejemplo, el escalado 650 puede escalar los valores espectrales 632 o los valores espectrales preprocesados 642 usando una ganancia global, para proporcionar de este modo los valores espectrales escalados 652.
[0261] El codificador de audio 600 también comprende una cuantificación (o cuantificador) 660, que puede recibir los valores espectrales 632, los valores espectrales preprocesados 642 o los valores espectrales escalados 652. La cuantificación 660, por ejemplo, puede cuantificar los valores espectrales 632 o los valores espectrales preprocesados 642 o los valores espectrales escalados 652, para obtener de ese modo valores espectrales cuantificados 662, que pueden ser, por ejemplo, valores enteros con signo y que, por ejemplo, se pueden representar en una representación binaria (por ejemplo, en dos representación del complemento). Los valores espectrales cuantificados 662, por ejemplo, se pueden designar con X<q>. Por ejemplo, se puede proporcionar un número predeterminado de valores espectrales cuantificados 256, 512, 1024 o 2048 por trama, en donde diferentes frecuencias están asociadas con los valores espectrales cuantificados.
[0263] El codificador 600 también puede comprender una codificación 670, que recibe los valores espectrales cuantificados 662 (X<q>) y que puede proporcionar, sobre la base de la misma, una información codificada que representa los valores espectrales (cuantificados) 672.
[0265] Cabe señalar que los valores espectrales cuantificados 662 pueden corresponder a los valores espectrales 330, 430, 530 y que la información codificada 672 que representa valores espectrales puede corresponder a la información codificada 350, 450, 550 que representa valores espectrales. Además, cabe señalar que la codificación 670, por ejemplo, puede realizar las funciones descritas con respecto a los codificadores 300, 400, 500. Sin embargo, la codificación 670 también puede comprender la funcionalidad descrita a continuación (por ejemplo, con referencia a la figura 8), o al menos parte de dicha funcionalidad.
[0266] El codificador de audio 600 opcionalmente también comprende un posprocesamiento 680, que puede aplicar al posprocesamiento a la información codificada 672.
[0268] Por consiguiente, se proporciona la representación codificada 612, que típicamente comprende la información codificada 672. Sin embargo, la representación de audio codificada 612 también puede comprender opcionalmente información adicional, como información de control e información sobre la conformación del ruido (como información del factor de escala, coeficientes de predicción lineal, o similar). La representación de audio codificada también puede incluir opcionalmente información de ganancia global y/o información de modo de codificación/información de modo de decodificación y/o información de "lastnz".
[0270] Para concluir, el concepto para la codificación de los valores espectrales descritos en el presente documento, por ejemplo, se puede implementar en un codificador de audio 600, en el que solo algunas o todas las características de la codificación del factor de escala descritas en presente se pueden tomar en el codificador de audio 600.
[0272] 7) Decodificador de audio de acuerdo con la figura 7
[0274] La figura 7 muestra un diagrama esquemático de bloques de un decodificador de audio 700, según una realización de la presente invención. El decodificador de audio 700 está configurado para recibir una información de audio codificada 710 (que, por ejemplo, puede corresponder a la representación de audio codificada 612) y puede proporcionar, sobre la base de la misma, una información de audio decodificada 712. El codificador de audio 700 por ejemplo, puede comprender una decodificación 720 que recibe la información de audio codificada, o parte de la misma, y proporciona, sobre la base de la misma, los valores espectrales cuantificados 722 (también designado con X<q>). Por ejemplo, la decodificación 720 puede proporcionar valores enteros con signo en una representación binaria (por ejemplo, en una representación de complemento de dos).
[0276] El decodificador de audio 700 comprende opcionalmente un cuantificador inverso 730, que recibe los valores espectrales cuantificados y que puede realizar una cuantificación inversa. Por ejemplo, el cuantificador inverso 730 puede usar una información de ganancia global para ajustar el mapeo realizado por la cuantificación inversa.
[0277] El decodificador de audio 700 comprende opcionalmente un escalado 740, que puede recibir valores espectrales cuantificados inversamente 732 proporcionados por el cuantificador inverso y que puede realizar un escalado, para obtener de este modo valores espectrales 742 cuantificados inversamente y escalados. El escalado puede ser opcionalmente dependiente de la ganancia global.
[0279] El decodificador de audio 700 también puede, opcionalmente, comprender un posprocesamiento 750, que puede recibir los valores espectrales cuantificados inversamente 730 o los valores espectrales 742 inversamente cuantificados y escalados y que puede realizar una conformación espectral. Por ejemplo, la conformación espectral puede ser una conformación de ruido espectral, y/o se puede basar en una escala de diferentes bandas de frecuencia usando factores de escala y/o se puede basar en una conformación espectral usando coeficientes de predicción lineal (en donde la información controla la conformación espectral se puede incluir en la información de audio codificada).
[0281] El decodificador de audio 700 también puede, opcionalmente comprender una conversión de dominio espectral a dominio de tiempo 760, que puede recibir los valores espectrales cuantificados inversamente 732, los valores espectrales cuantificados inversamente y escalados 742 o los valores espectrales posprocesados (por ejemplo, conformados espectralmente) 752 proporcionados por el posprocesamiento 750. La conversión de dominio espectral a dominio de tiempo, por ejemplo, puede realizar una transformación de coseno discreta modificada inversa, o una transformación de coseno discreta modificada inversa con retardo bajo, o cualquier otra conversión de dominio espectral a dominio de tiempo, para obtener de este modo una representación de audio en el dominio del tiempo 762 sobre la base de la información de entrada recibida por la conversión de dominio espectral a dominio de tiempo.
[0283] La representación de audio en el dominio del tiempo 762, por ejemplo, se puede introducir en un posprocesamiento (opcional) 770, que puede realizar una o más etapas de posprocesamiento y que, por ejemplo, también puede realizar una conformación espectral en el dominio del tiempo (por ejemplo, en el caso de que no se realice una conformación espectral en el dominio espectral, por ejemplo, usando un filtrado LPC).
[0285] Por consiguiente, la información de audio decodificada 712 se puede proporcionar sobre la base de la salida de la conversión de dominio de dominio espectral a dominio de tiempo 762, y posiblemente se puede obtener usando alguna forma de posprocesamiento y/o enlace de trama (como una operación de superposición y adición).
[0287] Para concluir, el decodificador de audio 700 puede realizar alguna funcionalidad de decodificación de audio, en donde los detalles, por ejemplo con respecto a la conformación de ruido o la conformación espectral, pueden variar significativamente de implementación a implementación. La conformación espectral o la conformación de ruido se pueden realizar en el dominio espectral (es decir, antes de la conversión del dominio espectral a dominio del tiempo) y/o en el dominio del tiempo (por ejemplo, después de la conversión de dominio espectral a dominio de tiempo).
[0289] Sin embargo, cabe señalar que la información de audio codificada 710 puede corresponder a la información de audio codificada 110, 210, y que la información de audio codificada 710 puede comprender información de control adicional e información para ajustar una conformación espectral. Además, los valores espectrales cuantificados 722, por ejemplo, pueden corresponder a los valores espectrales decodificados 132, 232.
[0291] Además, la decodificación 720 puede realizar algunas o todas las funcionalidades descritas con referencia a los decodificadores de audio 100, 200.
[0293] Además, la decodificación 720 se puede suplementar con cualquiera de las características, funcionalidades y detalles descritos en el presente documento con respecto a una decodificación de valores espectrales (o coeficientes espectrales) que se describe en el presente documento ya sea individualmente o en combinación.
[0295] 8) Codificación de audio (codificación del valor espectral) de acuerdo con la figura 8
[0297] La figura 8 muestra un diagrama de flujo de una funcionalidad que se puede realizar mediante cualquiera de los codificadores de audio descritos en el presente documento.
[0299] Cabe señalar que algunas o todas las funcionalidades descritas con referencia a la figura 8 (y también con respecto a las siguientes figuras) se pueden incorporar a los codificadores de audio de las figuras 3, 4, 5 y 6.
[0301] También se debe tener en cuenta que la figura 8 está centrada en la codificación de valores espectrales, que típicamente, pueden ser valores espectrales cuantificados. Con preferencia, pero no necesariamente, los valores espectrales son valores enteros con signo, que están representados por una representación complementos de dos binarios.
[0303] La funcionalidad que se muestra en el diagrama de flujo 800 comprende una primera estimación 810 de una ganancia global. Esta estimación se puede realizar, por ejemplo, sobre la base de un conjunto de valores espectrales, que se pueden asociar con una trama de contenido de audio, y también puede considerar un presupuesto de bits (o, de manera equivalente, un presupuesto de tasa de bits).
[0305] La funcionalidad del codificador de audio o de la codificación de audio, como se muestra en la figura 8, también comprende una cuantificación 814 de coeficientes espectrales (o, equivalentemente, valores espectrales) usando una primera estimación de una ganancia global o usando una estimación refinada de una ganancia global (que se puede obtener de manera iterativa). En la etapa 814, existe un cálculo o estimación de un número de bits necesarios para codificar el espectro cuantificado (que se puede representar por coeficientes espectrales cuantificados o por valores espectrales cuantificados).
[0307] Sobre la base de este cálculo o estimación del número de bits necesarios, que se realiza en la etapa 818, la ganancia global se puede ajustar o refinar opcionalmente en una etapa 822, para obtener así una estimación mejorada de la ganancia global.
[0309] Por consiguiente, mediante la realización de las etapas 810, 814 y 818, y opcionalmente la etapa 822, se puede obtener una "información de ganancia global" (o, en general, una información que describe una cuantificación de los valores espectrales), lo que da como resultado una cuantificación tal que un número de bits esperado se ajusta al menos aproximadamente a un presupuesto de bits. Sin embargo, se debe tener en cuenta que, en vista de las restricciones de complejidad, la información de ganancia global puede no ser totalmente adecuada, de modo que una codificación de valores espectrales cuantificados en función de la información de ganancia global también puede consumir más o menos bits en comparación con el presupuesto de bits.
[0311] Cabe señalar que cualquier detalle relacionado con el cálculo de la ganancia global o con respecto a la cuantificación no es esencial para la presente invención. Más bien, las realizaciones de acuerdo con la presente invención funcionarán con cualquier mecanismo que proporciona valores espectrales cuantificados de modo que los valores espectrales se pueden codificarse sin violar excesivamente el presupuesto de bits.
[0313] La funcionalidad 800 comprende además realizar una decisión de modo 830. Sin embargo, la decisión de modo se puede considerar como opcional, ya que también son posibles los codificadores de audio que usan solo un modo (denominado en el presente documento como "segundo modo"). La decisión de modo 830 comprende opcionalmente una identificación dependiente del modo de un último coeficiente codificado. De acuerdo con la decisión del modo, la determinación del último coeficiente codificado se puede realizar de una manera diferente.
[0314] Si se utiliza el "primer modo", se puede tomar la decisión de no codificar algunos valores espectrales distintos de cero para guardar bits (y permanecer dentro del presupuesto de bits). En este caso, se puede elegir una frecuencia asociada con el último coeficiente espectral codificado para que sea más pequeña que una frecuencia máxima en la que existe un valor espectral distinto de cero. En consecuencia, algunos valores espectrales distintos de cero en una región de frecuencia alta pueden no estar codificados en el primer modo.
[0316] En contraste, en el segundo modo, al menos los bits más significativos se codifican para todos los coeficientes espectrales distintos de cero. Por consiguiente, el último coeficiente codificado por ejemplo, se puede elegir para ser el valor espectral no cero de frecuencia más alta.
[0318] Se proporciona un índice que describe el valor espectral de frecuencia más alta que se codificará como información de control "lastnz" tanto en el primer modo como en el segundo modo.
[0320] A continuación, se describirá la operación en el "primer modo", haciendo referencia a las funcionalidades 840 a 869.
[0322] La operación en el primer modo comprende una inicialización del codificador aritmético 840. En esta etapa, se inicializarán los estados y el contexto del codificador aritmético.
[0324] En la etapa 844, se codificará cierta información secundaria, como una información de modo que indica el uso del primer modo, la ganancia global y la información que identifica el último coeficiente codificado (lastnz).
[0326] Las funcionalidades 848 a 864 se repiten para cada valor espectral, o para cada grupo de valores espectrales. Cabe señalar que, en una realización preferida, se codificarán los grupos que comprenden dos valores espectrales. Sin embargo, también es posible una codificación de individual valores espectrales.
[0328] La codificación real de los valores espectrales comprende una determinación de ponderación de bit más significativa para un coeficiente espectral o para un grupo de coeficientes espectrales. Por ejemplo, se examina la representación numérica de uno o dos coeficientes espectrales y se identifica cuál es la posición de bit de valor más alto que comprende un "1". Por ejemplo, un valor binario "00010000" comprende su bit más significativo en la posición de bit 5, que tiene una ponderación de bit 16. Si se considera un par de valores espectrales, que se van a codificar juntos, se determina el máximo de las posiciones de bit más significativas de los dos valores espectrales. Para detalles opcionales, se hace referencia a la descripción de la “etapa 7a” que se proporcionará a continuación (consultar la descripción de la figura 10a).
[0330] En una etapa 852, se codificará una ponderación de bit más significativo, que se puede realizar, por ejemplo, al proporcionar una secuencia de símbolos codificados específicos, en donde el número de símbolos codificados específicos indica la posición del bit (o, de manera equivalente, la ponderación del bit). Por ejemplo, se pueden usar los llamados "símbolos de escape", que se conocen en la codificación aritmética. Para detalles opcionales con respecto a la funcionalidad 852, se hace referencia, por ejemplo, a la discusión de la "etapa 7b" que se proporciona a continuación (consultar la figura 10c).
[0332] Posteriormente, se realiza una codificación de bits más significativos 856. En esta etapa, se codifican uno o más bits (por ejemplo, dos bits) en la posición del bit de bit más significativo identificado (o adyacente a la posición del bit de bit más significativo identificado). Por ejemplo, si la posición de bit 5, que tiene una ponderación de bit 16 se identifica en la etapa 848, entonces los bits que tienen posiciones de bit 5 y 4 (ponderaciones de bits 16 y 8) de un primer valor espectral se pueden codificar juntos con los bits de las posiciones de bit 5 y 4 (que tienen ponderaciones de bits 16 y 8) de un segundo valor espectral. En consecuencia, en el ejemplo, un total de cuatro bits se pueden codificar juntos, en donde típicamente al menos uno de los dos valores espectrales tendrá un “1” en la posición de bit 5 (ponderación de bit 16). Por ejemplo, los cuatro bits mencionados se pueden mapear a un símbolo "sym" usando una codificación aritmética basada en el contexto. Para detalles opcionales, se hace referencia, por ejemplo, a la descripción de la "etapa 7c" que se proporciona a continuación (consultar la figura 10d).
[0334] En una etapa 860, existe una codificación de bits restantes. En la etapa 860, por ejemplo, puede haber una codificación de (todos) bits menos significativos (que incluyen uno o más bits menos significativos) para todos los valores espectrales que se han codificado en la etapa 856 y que comprenden más bits que el uno o más bits más significativos (por ejemplo numbits>2). En otras palabras, para cada valor espectral que se ha codificado parcialmente (pero no completamente) en la etapa 856 (debido a que la codificación del uno o más bits más significativos no fue suficiente para representar el valor espectral con precisión total, hasta un bit que tiene ponderación de bit 1), se codifican todos los bits menos significativos.
[0336] Con referencia al ejemplo anterior, si los bits 5 y 4 se han codificado en la etapa 856 para el primer valor espectral y para el segundo valor espectral, entonces los bits 1, 2 y 3 se codificarán para el primer valor espectral y para el segundo valor espectral en la etapa 860.
[0338] Para detalles opcionales, se hace referencia a la descripción de etapa 7d del enfoque convencional.
[0340] En la etapa 864, existe un signo que codifica para todos los valores espectrales distintos de cero para los cuales el uno o más bits más significativos se han codificado. Para detalles opcionales, se hace referencia a la descripción de etapa 7e (consultar la figura 10f).
[0342] Como se mencionó anteriormente, etapas 848 a 864 se repiten para cada valor espectral, o para cada grupo de valores espectrales cuyos bits más significativos se codifican juntos.
[0344] En la etapa 868 existe una determinación de un número de bits utilizados, y en la etapa 869, existe, opcionalmente, una codificación de una información de refinamiento si todavía existe bits disponibles no utilizados.
[0346] Para concluir, cuando se opera en el primer modo, algunos valores espectrales distintos de cero se omiten en la codificación, pero todos los valores espectrales que están realmente codificados se codifican con resolución completa (hasta el bit menos significativo). Por consiguiente, se puede realizar una variación de la tasa de bits requerida decidiendo cuántos valores espectrales quedan sin codificar (omitidos en la codificación).
[0348] A continuación, la operación en el segundo modo que, en algunas realizaciones, puede ser el modo único, se describirá con referencia a las funcionalidades 870 a 898.
[0350] La codificación en el segundo modo comprende una inicialización del codificador aritmético 870, en la que se inicializarán los estados en un contexto de la codificación aritmética.
[0352] En la etapa 874, se codificará alguna información secundaria, como una información de ganancia global, “lastnz” y una información de modo que indica que se usa el segundo modo (con la condición de que el codificador sea conmutable entre el primer modo y el segundo modo).
[0354] Las funcionalidades 878 a 894 se realizan para cada valor espectral para codificar, o para cada grupo de valores espectrales para codificar de manera conjunta.
[0356] En la etapa 878, existe una determinación de la ponderación de bit más significativo para los coeficientes espectrales (o valores espectrales) o para grupos de coeficientes espectrales (o valores espectrales). Para detalles opcionales, se hace referencia a la explicación sobre la funcionalidad 848 y también a la descripción de la siguiente “etapa 7a” (consultar la figura 10a).
[0358] En la etapa 882, existe una cancelación del bit menos significativo y un procesamiento de la información de bit menos significativo. Por ejemplo, la información de bit menos significativo se cancela en la representación numérica de tales valores espectrales que comprenden ambos uno o más bits más significativos y un bit menos significativo (numbits>2). Por ejemplo, todos los valores espectrales impares se pueden ajustar en el siguiente valor par (adyacente), cuyo valor absoluto es menor que el valor absoluto del valor impar. Por ejemplo, avalueofl puede besetto0, avalueof3 puede besetto2, un valor de -1 puede besetto0 y un valor de -3 se puede establecer en -2. Para detalles opcionales, consultar las etapas 1010f, 1011f mencionadas a continuación.
[0360] Sin embargo, la información sobre el bit menos significativo, y también la información sobre el signo del valor espectral (si el valor espectral se ajusta de 1 a 0 o de -1 a 0) se puede almacenar en una información de flujo de bit de bit menos significativo (por ejemplo, lsbs[]). Para detalles, se hace referencia, por ejemplo a la “etapa 7a bis”, que se describe a continuación (consultar la figura 10b).
[0362] Además, existe una codificación de la ponderación de bits más significativos 886, que puede ser igual a la codificación de la ponderación de bits más significativos 852. Para detalles opcionales, consultar la descripción de la etapa 7b (figura 10c).
[0364] Además, existe una codificación de bits más significativa 890, que puede ser idéntica a la codificación de bits más significativo 856, excepto por el hecho de que se utilizan los valores espectrales modificados en la etapa 882 (con el valor de bits menos significativos eliminado). Para detalles opcionales, ver la descripción de la etapa 7c y figura 10d.
[0366] Además, existe una codificación del bit menos significativo 892. En la codificación del bit menos significativo 892, existe una codificación de bits menos significativos, excepto por uno o más bits menos significativos. En otras palabras, los bits que están entre los bits menos significativos y el uno o más bits más significativos codificados en la etapa 890 se pueden codificar, por ejemplo, mediante su escritura secuencial en un flujo de bits. Para detalles opcionales, se hace referencia a la siguiente descripción de la “etapa 7d - nueva versión” (consultar la figura 10e).
[0367] Además, existe una codificación de signo 894, que es sustancialmente idéntica a la codificación de signo 864, excepto por el hecho de que el signo se determina sobre la base de un valor espectral modificada en la etapa 882.
[0368] Por ejemplo, si el valor espectral original (cuantificado) era 1, el valor espectral se ha cambiado a 0 en la etapa 882, y no existe codificación de signo en la etapa 894, porque este signo solo se codifica para valores distintos de cero. De manera similar, si el valor espectral originalmente era 1 (después de la cuantificación), el valor espectral se modifica a 0 en la etapa 882, y ningún signo se codifica en la etapa 894 (porque los signos no se codifican para valores cero).
[0370] Para detalles opcionales con respecto a la codificación de signo, se hace referencia a la descripción de etapa 7e (figura 10f).
[0372] Las etapas 878 a 894 se repiten para todos los valores espectrales o grupos de valores espectrales cuyos bits más significativos se codifican en forma conjunta.
[0374] En la etapa 896, existe una determinación de un número de bits disponibles para una codificación de los bits menos significativos. Este número se designa, por ejemplo, con nlsbs y puede, por ejemplo, designar un número de bits no usados.
[0376] En la etapa 898, los bits no usados (cuyo número se determinó en la etapa 896) se utiliza para la codificación "real" de los bits menos significativos (inclusión de la información del bit menos significativo obtenida en la etapa 882, o una parte del mismo, en la representación de audio codificada). Por ejemplo, una secuencia de bits que se determinó en la etapa 882, o una porción de la misma, se añade a una representación de audio codificada. Esta secuencia de bits comprende los bits menos significativos y signos para aquellos valores espectrales que se han cambiado a cero por la cancelación de los bits menos significativos.
[0378] Por consiguiente, en el segundo modo, se proporcionan los símbolos que representan uno o más bits más significativos, una secuencia de bit que representa los bits menos significativos excepto por el uno o más bits menos significativos (y alguna información de signo) y secuencia de bits que representa los bits menos significativos (y alguna información de signo). En la secuencia que representa los bits menos significativos, los bits menos significativos (y signos) se pueden incluir valor espectral por valor espectral o secuencialmente por pares de valores espectrales codificados de forma conjunta. Asimismo, en la secuencia de bits que representa los bits menos significativos, los bits menos significativos se incluyen valor espectral por valor espectral.
[0380] Cabe señalar que a continuación se describen los detalles opcionales adicionales con respecto a la codificación 800. También se debe tener en cuenta que las referencias a la representación del código del pseudo-programa de las etapas se incluyen en la figura 8. Los detalles descritos en las representaciones del código del pseudoprograma no son esenciales, pero opcionalmente se pueden incluir individualmente para cada una de las etapas que se muestran en la figura 8.
[0382] 9. Decodificación de audio (decodificación de valor espectral) de acuerdo con la figura 9
[0384] La figura 9 muestra una representación esquemática de las funcionalidades que pueden ser realizadas por los decodificadores de audio descritos en el presente documento.
[0386] Cabe señalar que algunas o todas las funcionalidades descritas en la figura 9 pueden ser realizadas por los decodificadores de audio. Cabe señalar que será suficiente implementar una o varias de las funcionalidades descritas en la figura 9 individualmente, pero que se prefiere implementar la funcionalidad completa. En particular, la funcionalidad descrita en la figura 9 está relacionada con la provisión de valores espectrales decodificados sobre la base de una información codificada que representa valores espectrales. La funcionalidad que se muestra en la figura 9, por ejemplo, se puede implementar en la decodificación 720 del decodificador de audio 700.
[0388] La funcionalidad 900 comprende, en una etapa 910, una inicialización de los estados del decodificador aritmético y la inicialización de un contexto c que es utilizado por el decodificador aritmético. Para detalles opcionales, se hace referencia, por ejemplo, a la "etapa 1" de la decodificación como se describe a continuación.
[0390] La funcionalidad 900 también comprende una decodificación 914 de una ganancia global o información de ganancia global, una decodificación 916 de un bit de señalización para una selección de modo (selección de modo 1 o modo 2) y una decodificación 918 de una información sobre un último coeficiente codificado distinto de cero ("lastnz"). Cabe señalar que las etapas 916 y 918 se deben considerar como opcionales, y que la etapa 914 se puede reemplazar por la decodificación de cualquier otra información que define una cuantificación.
[0392] La funcionalidad 900 comprende una decodificación en un primer modo que se muestra en las etapas 930 a 948 y una decodificación en un segundo modo, que se muestra en las etapas 950 a 972. Cabe señalar que la operación en el primer modo, como se describe en las etapas 930 a 948, se deben considerar como opcionales. En otras palabras, también es suficiente si la decodificación de audio puede operar en el segundo modo que se describe en las etapas 950 a 972, aunque la posibilidad de cambiar entre dos modos amplía la funcionalidad y ofrece algunas ventajas.
[0394] Además, la funcionalidad 900 también comprende realizar la cuantificación inversa 980 de valores espectrales decodificados, que se puede realizar, por ejemplo, en el bloque 730 en el decodificador 700.
[0396] A continuación, se describirá la operación en el primer modo.
[0398] La decodificación en el primer modo comprende una decodificación de bits más significativos 930 que por ejemplo, puede comprender una decodificación conjunta de uno, dos o más bits más significativos de dos coeficientes, que se pueden designar con X<q>(n) y X<q>(n+1). La decodificación de bits más significativos 930, por ejemplo, puede comprender una determinación de un número de bits totales (codificados) de los coeficientes (por ejemplo, numbits) o un número de bits menos significativos de los coeficientes que siguen a los bits más significativos codificados de forma conjunta.
[0400] Por ejemplo, puede ser reconocido por el decodificador (por ejemplo, sobre la base de una información de señalización en la representación de audio codificada) que uno de los dos coeficientes espectrales decodificados juntos comprende un valor distinto de cero (bit más significativo) en un quinta posición de bit (que tiene una ponderación de bit 16). Por consiguiente, los bits en las posiciones 4 y 5 (que tienen ponderaciones de bits de 8 y 16) se decodificarán de forma conjunta para los dos valores espectrales que se decodifican juntos (como un grupo). La posición de bit del bit más significativo se puede codificar, por ejemplo, usando un "mecanismo de símbolo de escape" que se conoce en la técnica de codificación y decodificación aritmética. Para detalles opcionales, se hace referencia, por ejemplo, a la descripción de la "etapa 3a" a continuación (figura 11 a).
[0402] La decodificación en el primer modo además comprende una decodificación de bits menos significativos 934. Por ejemplo, puede haber una decodificación de (todos) los bits menos significativos, que incluyen uno o más bits menos significativos, de todos los valores espectrales para los cuales se han decodificado uno o más bits más significativos. Por ejemplo, los bits menos significativos se pueden leer de una secuencia de bit. Para detalles, se hace referencia, por ejemplo a “etapa 3b, enfoque convencional” como se describe a continuación.
[0404] La decodificación en el primer modo comprende una decodifica de signo 938, en el que los signos se pueden decodificar para todos los valores espectrales para los cuales se ha decodificado un valor distinto de cero en las etapas 930, 934. Para detalles, se hace referencia, por ejemplo, a la siguiente discusión de la “etapa 3c” (consultar la figura 11c).
[0406] La decodificación en el primer modo comprende una reducción a cero de 942 de los coeficientes espectrales no codificados. Por ejemplo, todos los coeficientes espectrales, cuyas frecuencias están por encima de una cierta frecuencia que se ha señalizado desde un codificador al decodificador, se pueden ajustar a cero. Para detalles, se hace referencia, por ejemplo, a la siguiente descripción de la “etapa 4”.
[0408] La decodificación en el primer modo también comprende una determinación 944 de un número de bits no usados. Por ejemplo, se puede determinar cuántos bits del presupuesto total de bits no se han usado en las etapas de decodificación anteriores.
[0410] La decodificación en el primer modo también puede comprender, opcionalmente un refinamiento 948 en que, por ejemplo, los valores espectrales que se han refinado se pueden refinar adicionalmente. Para detalles, se hace referencia, por ejemplo a la siguiente descripción de la “etapa 6”.
[0412] Por consiguiente, en el primer modo, los valores espectrales hasta una frecuencia máxima definida por la información sobre la información del último coeficiente codificado no cero se decodificarán completamente (desde el bit más significativo hasta el bit menos significativo), incluida una decodificación del signo.
[0414] Sin embargo, cabe señalar que los detalles, como se describe a continuación con referencia a la “etapa 3a” a “etapa 6” se pueden introducir opcionalmente en estas etapas. Sin embargo, cabe señalar que no es esencial introducir todos los detalles que se describen a continuación, y que en algunas realizaciones es suficiente mantener los siguientes detalles solo en una de las etapas o en alguna de las etapas.
[0416] A continuación, una decodificación en un segundo modo se describirá con referencia a las etapas 950 a 972.
[0417] Una decodificación en el segundo modo comprende una la decodificación de bit más significativo 950, que por ejemplo, puede comprender una decodificación aritmética de uno o más bits más significativos. Por ejemplo, la decodificación de bit más significativo 950 puede comprender una determinación de un número de bits totales de los coeficientes, o de un número de bits menos significativos de los coeficientes, o una posición de bit (o una ponderación de bit) del uno o más bits más significativos. Además, la decodificación de bit más significativo 950 puede comprender una decodificación conjunta de uno, dos o más bits más significativos de dos coeficientes espectrales o valores espectrales X<q>(n), X<q>(n+1).
[0419] Para detalles opcionales, se hace referencia, por ejemplo a la siguiente descripción de la “etapa 3a” (figura 11a).
[0420] La decodificación en el segundo modo también comprende una decodificación de bits menos significativos 954, que se puede considerar como opcional. En la decodificación de bits menos significativos 954, tiene lugar una decodificación de bit menos significativos, excepto por uno o más bits menos significativos. La decodificación de bits menos significativos 954 puede ser similar a la decodificación de bits menos significativos 934, excepto por el hecho que un bit menos significativo, o múltiples bits menos significativos, se omiten en la decodificación de bits menos significativos 954. Para detalles opcionales, se hace referencia, por ejemplo, a la siguiente descripción de la “etapa 3b” (nueva versión) (figura 11 b).
[0422] La decodificación en el segundo modo también comprende un signo de decodificación 958 en el que se decodifican los signos de los valores espectrales decodificados en las etapas 950, 954, siempre que la porción decodificada de los valores espectrales que se decodifican en las etapas 950, 954 (que no comprenden el uno o más bits menos significativos) indique un valor distinto de cero. Para detalles opcionales, se hace referencia, por ejemplo, a la siguiente descripción la “etapa 3c” (figura 11c).
[0424] Cabe señalar que etapas 950, 954, 958 se repiten para todos los valores espectrales para decodificar, o para todos los grupos de valores espectrales para decodificar, en donde un número de valores espectrales para decodificar, por ejemplo, se puede indicar mediante la información del último coeficiente codificado distinto de cero proporcionado por el codificador.
[0426] La decodificación en el segundo modo también comprende una reducción a cero de 962 de coeficientes espectrales no codificados, que no han sido proporcionados por un codificador y que no se han decodificado en vista de la información del último coeficiente codificado distinto de cero. Para detalles opcionales, vea la siguiente descripción de la etapa 4.
[0428] Además, existe una determinación 968 de un número de bits disponibles para una decodificación de bit menos significativo. En otras palabras, se determina un número de bits no usados (bits del presupuesto de bits que no se han usado en la decodificación etapas 950, 954, 958). Para detalles, se hace referencia, por ejemplo, a la siguiente descripción de la “etapa 5”.
[0430] La decodificación en el segundo modo también comprende una decodificación selectiva 972 de uno o más bits menos significativos para los coeficientes que tienen más bits que el uno o más bits más significativos. En otras palabras, uno o más bits menos significativos se pueden decodificar solo para algunos de los valores espectrales que se han decodificado en las etapas 950, 954, 958, de modo que solo algunos (pero no todos) de dichos valores espectrales se refinan por información de bits menos significativos. La etapa 972 por ejemplo, puede, incluir una consideración de signo para dichos valores espectrales para los cuales se ha decodificado un valor cero en las etapas 950 y 954 (de manera que no se ha decodificado ningún signo en la etapa 958) y para el cual la información de bit menos significativo indica una valor distinto de cero. Por consiguiente, los valores espectrales (o coeficientes espectrales) se refinarán por la información de bit menos significativo de una secuencia de bits que comprende la información des bits menos significativos y de signo. El número de valores espectrales que se refinarán depende del resultado de la determinación 968 del número de bits disponibles para los bits menos significativos.
[0432] Por consiguiente, la decodificación en el segundo proporcionará algunos valores espectrales con total precisión (incluido un bit menos significativo) y algunos valores espectrales con precisión reducida (sin bits menos significativos).
[0434] Cabe señalar que los detalles que se describen a continuación para la "etapa 3a" a la "etapa 6" se pueden usar opcionalmente. Sin embargo, los detalles que se describen a continuación para la "etapa 3a" a la "etapa 6" no se deben considerar esenciales. Además, se debe tener en cuenta que se pueden introducir detalles para los etapas individuales sin que surja la necesidad de usar todos los detalles que se describen a continuación, con referencia a la "etapa 3a" a la "etapa 6".
[0436] Además, la funcionalidad 900 también comprende realizar una cuantificación inversa 980, en la que los valores espectrales decodificados en el primer modo y/o los valores espectrales decodificados en el segundo modo se cuantificarán inversamente. En la cuantificación inversa, se puede aplicar la información de ganancia global decodificada en la etapa 914. Sin embargo, también se pueden usar diferentes posibilidades para configurar la cuantificación inversa.
[0437] 10). Método de codificación de acuerdo con las Figuras 10a-10f
[0439] A continuación, se describirá un ejemplo de implementación de las etapas para cuantificar y codificar un espectro MDCT X(n), 0 < n < N. El método puede, por ejemplo, usarse en (o ser ejecutado por) los codificadores de audio 300, 400, 500 o en el codificador de audio 600. Las características descritas en el presente documento también se pueden incorporar, individualmente o en combinación, a la funcionalidad 800. En particular, el foco estará en la operación en el modo 2, que puede ser el único modo en algunas realizaciones.
[0441] A continuación, se describirá una primera etapa. La primera etapa comprende una primera estimación de la ganancia global. Esta primera estimación, por ejemplo, no cuantifica el espectro ni calcula el número de bits consumidos por el codificador aritmético. Se basa solo en la energía de los grupos de coeficientes MDCT y en un enfoque iterativo de baja complejidad para obtener una primera estimación aproximada de la ganancia global. Por ejemplo, se hace referencia a la sección 1.3.8.2 en la especificación NBC.
[0443] A continuación, se describirá una segunda etapa. La segunda etapa comprende una cuantificación del espectro de MDCT usando la ganancia global hallada en la etapa 1. Esto produce el espectro de MDCT cuantificado X<q>(n) 0 < n < N. Para detalles, se hace referencia, por ejemplo, a la sección 1.8.3 en la especificación NBC.
[0445] A continuación, se describirá una tercera etapa. La tercera etapa comprende un cálculo del número de bits necesarios para codificar el espectro cuantificado X<q>(n). Además, esta etapa también puede tomar la decisión de utilizar un enfoque convencional (también designado como "primer modo") o el nuevo enfoque (también designado como "segundo modo"). Por ejemplo, la etapa puede establecer un bit de señalización mencionado en el presente documento (por ejemplo, un bit de señalización que señala si se debe usar el primer modo o el segundo modo). Por ejemplo, el nuevo enfoque (segundo modo) se puede utilizar si un número de bits consumidos está por encima del presupuesto de bits y si se cumplen algunos criterios (por ejemplo, se utiliza una tasa de bits alta). El enfoque convencional (primer modo) se puede utilizar si un número de bits consumidos está por debajo del presupuesto de bits, o si no se cumplen los criterios (por ejemplo, los criterios para el uso del segundo modo).
[0447] Finalmente, la tercera etapa encuentra el último coeficiente codificado distinto de cero. Se encuentra como se describe en la descripción del enfoque convencional (es decir, para truncar el espectro) solo si se selecciona el enfoque convencional ("la etapa encuentra el índice del último coeficiente codificado distinto de cero lastnz de manera que el número de bits consumidos del espectro truncado se puede ajustar dentro del presupuesto de bits, consultar la sección 1.3.8.4 en la especificación de NBC"). Si se selecciona el nuevo enfoque (segundo modo), el espectro no se trunca y lastnz corresponde entonces simplemente al último coeficiente distinto de cero (por ejemplo, al coeficiente espectral no cero de frecuencia más alta).
[0449] A continuación, se describirá la etapa 4. La cuarta etapa comprende ajustar la ganancia global en función del número de bits calculado en la etapa 3. Si el número de bits es demasiado alto, la ganancia global aumenta. Si el número de bits es demasiado bajo, la ganancia global disminuye. Luego, las etapas 2 y 3 opcionalmente se realizan de nuevo. La etapa 4 se puede repetir varias veces hasta que se encuentra una ganancia global óptima. Sin embargo, si se requiere baja complejidad, la etapa 4 se puede no realizar, o se puede realizar solo una vez (como, por ejemplo, en NBC, consultar la sección 1.3.8.6 en la especificación de NBC).
[0451] A continuación, se describirá la etapa 5. La etapa 5 comprende una inicialización de los estados del codificador aritmético, y una inicialización de un contexto c que es utilizado por el codificador aritmético.
[0453] A continuación, se describirá la etapa 6. La etapa 6 comprende la codificación de la ganancia global y el último coeficiente codificado distinto de cero lastnz como información secundaria. Además, esta etapa también codifica el bit de señalización (por ejemplo, el bit de señalización que indica si se utiliza el primer modo o el segundo modo) como información secundaria.
[0455] A continuación, se describirá la etapa 7. Sin embargo, la etapa 7 comprende la repetición de las subetapas 7a a 7e para todos (n = 0; n < lastnz; n = 2). En otras palabras, las etapas 7a a 7e se repiten a partir de n = 0 siempre que n sea más pequeño que lastnz, en donde n se incrementa en dos en cada iteración. Se procesan dos valores espectrales en cada iteración, y generalmente se procesarán todos los valores espectrales distintos de cero (ya que, en el modo 2, se elegirá lastnz de tal manera que al menos los bits más significativos se codificarán para todos los valores espectrales distintos de cero).
[0457] A continuación, se describirá la etapa 7a. La etapa 7a comprende calcular el número mínimo de bits necesarios para representar la amplitud (o magnitud o valor absoluto) de los dos coeficientes X<q>(n) y X<q>(n+1) (que con preferencia son valores enteros). Para detalles con respecto a un ejemplo de implementación, se hace referencia al código de pseudo-programa de la figura 10a (consultar el número de referencia 1000a). Un coeficiente que tiene el valor absoluto más grande determina el número mínimo de bits necesarios para representar la amplitud (magnitud, valor absoluto) de los dos coeficientes.
[0458] A continuación, se describirá la etapa 7a-bis, que por ejemplo, se puede realizar entre las etapas 7a y 7b. En otras palabras, la etapa 7a-bis es una etapa adicional justo después de la etapa 7a, que se realiza si los numbits son mayores que dos (numbits> 2). En otras palabras, la etapa 7a-bis se realiza si se necesitan más bits que los dos bits más significativos para representar X<q>(n) y/o X<q>(n+1). En la etapa 7a-bis, el bit menos significativo de cada coeficiente se "guarda" y el coeficiente se modifica de tal manera que su bit menos significativo ahora es cero. El signo del coeficiente también se guarda en caso de que el coeficiente originalmente no fuera cero y se vuelve cero después de ajustar su bit menos significativo a cero.
[0460] Para detalles sobre esta funcionalidad, se hace referencia, por ejemplo a la representación de código de pseudoprograma mostrado en la figura 10b.
[0462] Como se puede observar en el número de referencia 1010a, se extrae un bit menos significativo de un valor absoluto de X<q>[n] y se guarda en una secuencia de bits lsbs en una posición indicada mediante ejecución de la variable de ejecución nlsbs (cf. signo de referencia 1010b). La variable de ejecución nlsbs se incrementa luego para volver al siguiente bit no usado dentro de la secuencia de bits lsbs. Si se encuentra que X<q>es 1 o 1 (condición en el número de referencia 1010c), un bit de signo se ajusta a 0 si X<q>[n] es mayor que 0 y se ajusta a 1 si X<q>es menor que 0, como se puede ver en el número de referencia 1010d. Además, si X<q>es 1 o 1, el bit de signo se guarda, como un bit siguiente, en la secuencia de bits lsbs, que se muestra en el número de referencia 1010e. Además, el valor espectral con signo X<q>luego se modifica para que los valores desiguales se ajusten a valores pares adyacentes que tengan una magnitud menor. Esta funcionalidad se muestra en el número de referencia 1010f.
[0464] Sin embargo, cabe señalar que el orden de las etapas de procesamiento 1010a a 1010f se puede cambiar, siempre que la funcionalidad general permanezca sin cambios. Naturalmente, también sería posible almacenar cantidades intermedias.
[0466] Además, se debe tener en cuenta que la misma funcionalidad también se realiza para el valor espectral X<q>[n+1], que se muestra en los números de referencia 1011a a 1011f.
[0468] Por consiguiente, la etapa 7a-bis proporciona una secuencia de bit lsbs, que representa los bits menos significativos de todos los valores espectrales para los cuales el numbits es mayor de dos, en donde los bits de signo se incluyen en la secuencia de bits lsbs para valores espectrales para los cuales el numbits es mayor de dos y que toma el valor 1 o 1 (por ejemplo, porque están en un grupo con una valor espectral mayor). Los bits en la secuencia lsbs se ordenan la secuencia de los valores espectrales, pero no hay bits en la secuencia lsbs para tales valores espectrales para los cuales el numbits no es mayor de dos (es decir, que están totalmente representados por los dos bits más significativos).
[0470] A continuación, se describirá una etapa 7b. En esta etapa 7b, se codificará una información con respecto al valor "numbits" (cuando se determinaron los numbits en la etapa 7a y describe ponderación de bits de los bits más significativos que se codifican para un valor espectral o un grupo de valores espectrales). Por ejemplo, la etapa 7b comprende la codificación de los valores de escape de numbits-2 (por ejemplo, representado por VAL_ESC = 16) si los numbits son mayores que 2. Para detalles, se hace referencia a la figura 10c (número de referencia 1020a). Por ejemplo, los valores de escape se codifican usando una codificación aritmética, en donde un contexto se evalúa para obtener probabilidades para la codificación aritmética. Los símbolos de escape se codifican con codificación aritmética usando las probabilidades p. Además, el contexto se actualiza.
[0472] Sin embargo, todos los detalles de esta etapa no son esenciales para la presente invención.
[0474] A continuación, se describirá una etapa 7c. La etapa 7c comprende codificar dos bits más significativos de cada coeficiente X<q>(n) y X<q>(+1) como un símbolo único sym (cuyo valor se halla entre 0 y 15). En la etapa 1040a, se determina, sobre la base de numbits del valor, por cuántos bits la representación numérica (binaria) de X<q>[n] y X<q>[n+1] (según se modificó en la etapa 7a-bis para el caso de numbits > 2) se desplazarán a la derecha. Esto se muestra en el número de referencia 1040a y se puede considerar como opcional. En la etapa 1040b, X<q>[n] se procesa de tal manera que los bits en las posiciones de bits determinadas por numbits se almacenan en una variable a. En la etapa 1040c, X<q>[n+1] y se procesa de tal manera que los bits en las posiciones de bits determinadas por numbits se toman en la variable b. En otras palabras, los bits en las posiciones de bits consideradas como los dos bits más significativos se toman en las variables a y b.
[0476] En consecuencia, se determina un valor de cuatro bits que combina los dos bits más significativos de X<q>[n] y X<q>[n+1], como se muestra en el número de referencia 1040d. El sym variable entonces representa un símbolo de cuatro bits que comprende los dos bits más significativos de cada uno de los dos valores espectrales que se codificarán juntos. Luego, las probabilidades para la codificación aritmética se determinan a partir del contexto c de la codificación aritmética, y el símbolo sym se codifica usando una codificación aritmética y considerando las probabilidades p determinadas a partir del contexto. Posteriormente, se actualiza el contexto.
[0477] Por consiguiente, se obtiene una representación aritmética codificada del símbolo sym que representa los dos bits más significativos de los dos valores espectrales para codificar de forma conjunta.
[0479] A continuación, se describirá la etapa 7d. La etapa 7d comprende una codificación de los bits restantes (también designados como "bits intermedios" o "bits menos significativos"), excepto por el bit menos significativo. Para detalles, se hace referencia a la figura 10e, que muestra una representación de código de pseudo-programa. Como se puede ver, la variable de ejecución b se ejecuta desde b = 1 hasta numbits-3. De acuerdo con esto, los bits se codifican a partir de la posición de bit 2 (que tiene un valor de bit 2) siempre que los dos bits más significativos que se codifican juntos en la etapa 7c estén al menos en las posiciones de bit 3 y 4 (que tienen los valores de bit 4 y 8) o en posiciones de bit más altas. Por consiguiente, los bits en las posiciones de bit (b+1) de los valores absolutos de los valores espectrales X<q>[n] y X<q>[n+1] se codifican como información secundaria. Por consiguiente, todos los bits que se hallan entre el bit menos significativo y los dos bits más significativos se codifican como información secundaria en la etapa 7d, con la condición de que tales bits existan (lo que depende de las posiciones de bit de los bits más significativos definidos por numbits).
[0481] Por ejemplo, un bucle mostrado en el número de referencia 1050a se ejecuta de b=1 a b=numbits - 3 (con la condición de que el numbits sea mayor que o igual a 4). Como se puede observar en el número de referencia 1050b, un bit en la posición de bit b+1 del valor absoluto de X<q>[n] se codifica como información secundaria. Como se puede observar en el número de referencia 1050c, un bit en la posición de bit b+1 del valor absoluto de X<q>[n+1] se codifica como información secundaria. Las etapas 1050b y 1050c se repiten hasta que la variable de ejecución b alcanza el numbits-2.
[0483] A continuación, se describirá la etapa 7e. La etapa 7e La etapa 7e incluye la codificación del signo de cada coeficiente (o valor espectral), excepto si el coeficiente es 0. Cabe señalar que, en la etapa 7e, se consideran los coeficientes modificados en la etapa 7a-bis. En otras palabras, el signo del valor espectral X<q>se codificará si el valor original de X<q>(antes de la modificación en la etapa 7a-bis) es mayor o igual a 2 o menor o igual a 2. En contraste, si X<q>[n]originalmente era igual a 0, o se ajustó a 0 en la etapa 7a-bis, no hay codificación del signo en la etapa 7e. La verificación de si el valor espectral (modificado) X<q>[n]es igual a 0 o no se observa en el número de referencia 1060a, y la provisión de un bit de signo "0" para un valor positivo de X<q>[n] y de un el bit de signo "1" para un valor negativo de X<q>[n]se puede observar en el número de referencia 1060b. La codificación del valor del signo como información secundaria se muestra en el número de referencia 1060c.
[0485] También se realiza una funcionalidad similar para X<q>[n+1], que se muestra en los números de referencia 1061a, 1061b y 1061c.
[0487] A continuación, se describirá la etapa 8. La etapa 8 comprende finalizar el codificador aritmético y calcular una cantidad de bits no utilizados. Por ejemplo, se puede calcular cuántos bits del presupuesto total de bits permanecen sin usar en las etapas 7b, 7c, 7d y 7e.
[0489] A continuación, se describirá la etapa 9. En la etapa 9, (si se selecciona el nuevo enfoque, o si se selecciona el segundo modo, o si el codificador sólo utiliza el segundo modo) no se utiliza la cuantificación/codificación residual (como en el concepto convencional). Si existen bits no usados, estos se utilizan para codificar los bits nlsbs que se guardan en lsbs [] (ver la etapa 7a-bis). En otras palabras, si se encuentra, por ejemplo, después de completar las etapas 7a a 7e, que no se han utilizado todos los bits del presupuesto de bits, se incluirá un número de bits de la secuencia de bits lsbs proporcionada en la etapa 7a-bis en un flujo de bits (o, en general, en una representación de audio codificada). El número de bits de la secuencia de bits lsbs incluidos en la representación de audio codificada, por ejemplo, puede estar determinado por el número de bits no usados, de manera que el presupuesto de bits se utiliza completamente (por ejemplo, hasta 1 o 2 bits, o incluso totalmente).
[0491] Para concluir, cabe señalar que las etapas descritas en el presente documento, o detalles de las mismas, se pueden usar cuando se realiza la funcionalidad de la figura 8. Por ejemplo, las etapas 1 a 4 descritas en el presente documento, o detalles de las mismas, se pueden usar para implementar las funcionalidades 810, 814, 818, 830.
[0492] Además, las etapas 5 a 9 descritas en el presente documento se pueden usar para implementar las funcionalidades 870, 874, 878, 882, 886, 890, 892, 894, 896 y 898. Sin embargo, cabe señalar que los detalles descritos en el presente documento se pueden tomar individualmente en las etapas de la funcionalidad 800.
[0494] 11). Decodificación de audio de acuerdo con las figuras 11a a 11d
[0496] A continuación, una funcionalidad de decodificación de audio se describirá con referencia a las figuras 11a a 11d. La funcionalidad de decodificación descrita en el presente documento se puede usar para proporcionar valores espectrales decodificados sobre la base de una información codificada que representa los valores espectrales. La funcionalidad descrita aquí se puede utilizar, por ejemplo, en los decodificadores de audio de acuerdo con las figuras 1 y 2 y el decodificador de audio 700 de acuerdo con la figura 7 (por ejemplo, para implementar la decodificación 720). Las etapas descritas en el presente documento se pueden usar en la funcionalidad 900, por ejemplo para implementar las funcionalidades 910, 950, 954, 958, 962, 968, 972.
[0498] A continuación, la funcionalidad para decodificar los valores espectrales se describirá etapa por etapa (centrado en la decodificación en el “segundo modo” o en el caso que solo se usa el segundo modo).
[0500] A continuación, se describirá una primera etapa. La primera etapa comprende una inicialización de los estados del decodificador aritmético y una inicialización de un contexto c utilizado por el decodificador aritmético.
[0502] A continuación, se describirá una segunda etapa. La segunda etapa comprende decodificar la ganancia global (o una información de ganancia global, o cualquier otra información que describa la cuantificación inversa) y la información del último coeficiente codificado distinto de cero "lastnz". En otras palabras, la segunda etapa comprende la decodificación de alguna información secundaria o información de control. Además, la segunda etapa también decodifica el bit de señalización (por ejemplo, el bit de señalización que define si se debe usar el primer modo o el segundo modo).
[0504] A continuación, se describirá la etapa 3. Por ejemplo, etapa 3 comprende repetir las etapas 3a a 3c para todos (n = 0; n<lastnz; n =2). En otras palabras, las etapas 3a a 3c se repetirán para todos los valores espectrales para decodificar (definidos por lastnz), en donde los grupos de dos valores espectrales se procesarán juntos.
[0506] A continuación, se describirá la etapa 3a. La etapa 3a comprende decodificar los dos bits más significativos de ambos coeficientes (o valores espectrales) X<q>(n) y X<q>(n+1). Los detalles respecto de la etapa 3a se muestran en la figura 11a.
[0508] La etapa 3a comprende una determinación de numbits variables, que describe una posición de bit de los dos bits más significativos para decodificar. Los numbits variables se inicializa a 1 en el número de referencia 1110a. Posteriormente, las probabilidades p se obtienen del contexto (que se ha inicializado anteriormente) en la etapa 1110b y el símbolo sym se decodifica usando una decodificación aritmética y usando las probabilidades p en la etapa 1110c. Posteriormente, el contexto se actualiza en la etapa 1110d y el numbits variables aumenta en 1 en la etapa 1110e. Sin embargo, si el símbolo sym decodificado es el símbolo de escape, se repiten las etapas 1110b, 1110c, 1110d, 1110e. Por lo tanto, si el primer símbolo decodificado no es un símbolo de escape, los numbits se configuran para que sean iguales a 2 y las posiciones de bit más significativas que se decodificarán pueden definir los bits en las posiciones de bit 1 y 2 (con valores de bit 1 y 2). Sin embargo, si uno o más símbolos de escape se identifican mediante la decodificación aritmética, los numbits variables aumentan aún más, lo que indica una ponderación más alta de los bits de los bits más significativos para decodificar, lo que también indica que hay "lugar" para uno o más bits menos significativos. Sin embargo, tan pronto como se encuentra que el símbolo decodificado último no es un símbolo de escape, los valores más significativos, que tienen ponderaciones de bits definidas por numbits variables, se determinan sobre la base del símbolo decodificado.
[0510] Por ejemplo, si el símbolo se representa con una variable de cuatro bits, dos bits de los cuatro valores de bits se usan para definir los dos bits más significativos del valor espectral X<q>[n], y dos bits de los cuatro valores de bits se usan para definir los dos bits más significativos del valor espectral X<q>[n+1]. Los detalles se pueden observar en los números de referencia 1110f y 1110g. Por consiguiente, 0, 1 o más símbolos de escape, que se decodifican por la decodificación aritmética, determinan las ponderaciones de bits de los bits más significativos, y un símbolo que no es un símbolo de escape define los valores de bit de los bits más significativos de dos valores espectrales.
[0512] A continuación, se describirá la etapa 3a-bis. La etapa 3a-bis es una etapa adicional justo después de la etapa 3a. Esta etapa guarda números en una matriz de numbits[n] para que se puedan reutilizar más adelante en la etapa 6. En otras palabras, los valores de los numbits variables se mantienen para todos los pares de valores espectrales decodificados para un uso posterior. Esto es, sin embargo, sólo una etapa auxiliar.
[0514] A continuación, se describirá la etapa 3b. La etapa 3b comprende decodificar los bits restantes, excepto el bit menos significativo. Para detalles, se hace referencia a la figura 11b. Aquí se debe tener en cuenta que la etapa 3b solo decodifica los bits restantes si los numbits son mayores o iguales a 4, es decir, si las representaciones numéricas binarias de los valores espectrales (o de al menos un valor espectral de un par de valores espectrales procesados juntos) ) comprende más bits que los dos bits más significativos y un bit menos significativo (es decir, al menos 4 bits). Estos bits, cuyas posiciones de bit se encuentran entre el bit menos significativo y los dos bits más significativos se decodifican posteriormente, comenzando desde el bit que tiene la posición de bit 2 y prosiguiendo hacia los bits que tienen posiciones de bit más altas (si hubiera). Para este propósito, la variable de ejecución b se inicializa en 1 y la decodificación de bits se realiza siempre que b sea menor que numbits-2. Una funcionalidad de bucle se muestra en el número de referencia 1120a, una decodificación de un bit para el primer valor espectral X<q>se muestra en el número de referencia 1120b, una adición del bit, ponderada con su ponderación de bit, al primer valor espectral se muestra en el número de referencia 1120c, una decodificación de un bit para el segundo valor espectral X<q>[n+1] se muestra en el número de referencia 1120d, y una adición del bit, ponderada por su ponderación de bit, se muestra en el número de referencia 1120e.
[0516] A continuación, se describirá la etapa 3c. La etapa 3c comprende decodificar el signo de cada coeficiente, excepto si el coeficiente (o valor espectral) es 0.
[0518] Por ejemplo, se verifica si el coeficiente espectral decodificado hasta ahora (en las etapas 3a y 3b, sin considerar el bit menos significativo) es igual a 0 o no (ver el número de referencia 1130a). Si el valor espectral X<q>[n] es diferente de 0, entonces se decodifica un bit de signo (etapa 1130b) y si el bit de signo es igual a 1 (que se verifica en el número de referencia 1130c), el signo de Xq[n] se invierte (ver: número de referencia 1130d). Una funcionalidad similar se realiza para el segundo valor espectral, como se muestra en los números de referencia 1131a a1131d.
[0520] A continuación, se describirá la etapa 4. En la etapa 4, todos los coeficientes (o valores espectrales) para los cuales un índice n es mayor o igual a lastnz se ajustan a 0. En consecuencia, aquellos coeficientes espectrales que no han sido codificados por el codificador (que está señalizado por la información secundaria “lastnz") se ajusta a un valor bien definido (0).
[0522] A continuación, se describirá la etapa 5.
[0524] La etapa 5 comprende una finalización del decodificador aritmético y el cálculo del número de bits no usados. Por ejemplo, se puede calcular cuántos bits se han decodificado en las etapas 3a, 3b y 3c, y luego se puede concluir cuántos bits de un presupuesto total de bits no se han utilizado hasta el momento.
[0526] A continuación, se describirá la etapa 6. En la 6ta etapa, si existen bits no usados, nlsbs bits se decodifican y se almacenan en lsbs[]. En otras palabras, una secuencia de nlsbs bits se utilizará para un refinamiento de bits menos significativo, en el que se pueden usar directamente o se pueden almacenar en una estructura de datos intermedia, como una matriz lsbs []. Luego, los coeficientes (n, n 1) (o los valores espectrales X<q>[n] y X<q>[n+1]) se refinan si los numbits[n] son mayores que 2 (para los valores espectrales respectivos que tienen el índice n y n 1) usando los bits de lsb decodificados (o bits de bits menos significativos).
[0528] Para detalles, se hace referencia a la figura 11d.
[0530] Como se puede observar en el número de referencia 1140a, variable de ejecución k se inicializa en 0. Entonces, un procesamiento de bucle se ejecuta en todos los pares de valores espectrales, en donde la definición del bucle se puede ver en el número de referencia 1140b. Sin embargo, cabe señalar que se omite que cualquier par de valores espectrales en el procesamiento del bucle que no comprende más bits que los dos bits más significativos. Una verificación de si el par de valores espectrales procesados actualmente comprende más bits que los bits más significativos se puede observar el número de referencia 1140c. Además, se debe tener en cuenta que el procesamiento (por ejemplo, el refinamiento de los valores espectrales usando información de bit menos significativo) se detiene en cualquier caso (incluso si no se han considerado todos los valores espectrales que tienen más bits que los dos bits más significativos) cuando el número de bits procesados alcanza el número total de nlsbs de bits disponibles para el refinamiento de bit menos significativo. Un aborto del procesamiento del bucle, por ejemplo, se efectúa con el comando "interrumpir", y se puede observar que normalmente hay una evaluación de si se ha alcanzado un número máximo de bits disponibles para el refinamiento de los bits menos significativos antes evaluar un nuevo bit de la secuencia de bits o matriz lsbs. Por ejemplo, se verifica si todos los bits disponibles se han evaluado en el número de referencia 1140d, que precede a la lectura de un nuevo bit de la secuencia de bits o la matriz lsbs, que se puede observar en el número de referencia 1140e. Después de una lectura de un bit de la secuencia de bits o la matriz lsbs (en el número de referencia 1140e), se realiza una acción diferente en función del valor del bit y también en función del valor del valor espectral decodificado previamente X<q>[n]. Si el valor del bit de refinamiento leído en la etapa 1140e es cero, no se realiza ninguna acción adicional (porque el bit indica que no es necesario modificar el valor decodificado previamente). Pr el contrario, si el valor del bit de refinamiento leído en la etapa 1140e es "1", la acción tomada depende del valor real del valor espectral X<q>[n]. Si el valor espectral X<q>es mayor de cero y si la lectura de bit en la etapa 1140e es “1”, entonces el valor espectral X<q>[n] aumenta en 1 (es decir, en un valor de bit menos significativo), que se puede observar en el número de referencia 1140f. Si el valor espectral X<q>[n] es negativo y el valor de bit leído en la etapa 1140e es “1 ” entonces el valor espectral X<q>[n] se reduce en 1 (es decir, por un valor de bit menos significativo).
[0532] Sin embargo, si el valor X<q>es 0 y el valor de bit del bit leído en la etapa 1140e es "1", entonces se lee otro bit de la secuencia de bits o la matriz lsbs, como se muestra en el número de referencia 1140i, en donde la lectura de otro bit en la etapa 1140i está precedida por una verificación de si ya se ha alcanzado un número total de bits disponibles (lo que conduce a un aborto del bucle por el comando "interrumpir'). Posteriormente, el valor de X<q>[n] se ajusta selectivamente a 1 o - 1 en función del valor del "bit de signo" leído en la etapa 1140i, que se muestra en el número de referencia 1140j. Posteriormente, se repiten las etapas 1140d a 1140j para el segundo valor espectral X<q>[n+1].
[0533] Para concluir, siempre que no se hayan gastado todos los bits de la secuencia de bits o matriz Isbs, que están disponibles para el refinamiento de los bits menos significativos, hay un procesamiento de "bits de refinamiento" de dicha secuencia de bits o matriz lsbs. Si el valor espectral previamente decodificado X<q>[n], X<q>[n+1] es diferente de 0, la magnitud de dicho valor espectral se incrementa selectivamente en un valor de bit menos significativo en dependencia de un "bit de refinamiento" leído de la secuencia de bits o matriz lsbs. Si el valor espectral previamente decodificado X<q>[n], X<q>[n+1] es 0, entonces se extrae adicionalmente un "bit de signo" de la secuencia de bits o la matriz lsbs, y el bit de signo decide si el valor espectral X<q>[n], X<q>[n+1] se debe ajustar a 1 o 1 en caso de que el bit de refinamiento anterior (primero) indique que el valor espectral se debe modificar con un valor de bit menos significativo. En contraste, el bit de signo no se usa si el bit de refinamiento indica que un valor del valor espectral X<q>[n], X<q>[n+1 ] debe permanecer sin cambios.
[0534] En otras palabras, el primer bit de refinamiento asociado a un valor espectral se puede considerar como un bit que indica si la magnitud del valor espectral se debe aumentar en un valor de bit menos significativo, y el segundo bit de refinamiento (bit de signo) solo se usa en casos que el valor espectral previamente decodificado fue 0.
[0535] Por lo tanto, hay un concepto muy eficiente para el refinamiento, en donde típicamente solo se requiere un bit para el refinamiento de bit menos significativo de un valor espectral, y en donde dos bits (un bit que decide si debe haber un refinamiento y un bit que decide el signo) solo son necesarios en el caso de que el valor espectral decodificado previamente sea 0.
[0536] Cabe señalar que las funcionalidades descritas en el presente documento, por ejemplo, se pueden usar en la funcionalidad de decodificación 900.
[0537] Las características discutidas en el presente documento con mucho detalle, con referencia a los códigos de pseudo-programas se pueden introducir en la funcionalidad como se muestra en la figura 9 individualmente o en combinación. Sin embargo, cabe señalar que no es necesario incluir todos y cada uno de los detalles, y que los detalles descritos en el presente documento pueden ser ventajosos cuando se toman de forma individual.
[0538] 11). Conclusiones
[0539] 11.1) General
[0540] A continuación, se resumirán algunas ideas básicas de la presente invención. En particular, los aspectos mencionados en el presente documento se pueden implementar individualmente o en combinación con los otros aspectos en las realizaciones de la invención.
[0541] Las realizaciones de acuerdo con la invención se basan en el descubrimiento de que, a tasas de bits inferiores, un enfoque convencional puede degradar gravemente el rendimiento de codificación. Se ha encontrado que a tasas de bits altas, el alto presupuesto de bits permite cuantificar todo el espectro con una alta precisión, a pesar de los altos coeficientes de frecuencia. También se ha encontrado que el establecimiento de algunos de los coeficientes de alta frecuencia en 0 puede añadir una cantidad significativa de distorsión en las altas frecuencias, lo que puede evitar una calidad transparente de la señal de salida decodificada. En la figura 12, se representa una SNR de espectro MDCT para cada trama de una señal de audio y para dos tasas de bits, una tasa de bits baja de 32 kbps y una tasa de bits alta de 128 kbps. La SNR a 32 kbps parece consistente pero la SNR a 128 kbps contiene grandes caídas. Estas caídas corresponden a las tramas donde se truncaron los coeficientes de alta frecuencia porque el número de bits consumidos excede el presupuesto de bits.
[0542] 11.2) Descripción etapa por etapa del enfoque convencional
[0543] A continuación, se describirán las etapas necesarios para cuantificar y codificar el espectro MDCT X (n), 0 < n <N como se realiza en un enfoque convencional.
[0544] Codificador
[0545] • Etapa1 : Primera estimación de la ganancia global. Esta primera estimación no cuantifica el espectro ni calcula el número de bits consumidos por el codificador aritmético. Se basa solo en la energía de los grupos de coeficientes MDCT y en un enfoque iterativo de baja complejidad para obtener una primera estimación aproximada de la ganancia global. (Ver Sección 1.3.8.2 en las especificaciones de NBC) •
[0546] • Etapa 2:Cuantificación del espectro MDCT usando la ganancia global encontrada en la etapa 1. Esto produce el espectro cuantificado MDCTx q (n),0 <n < N.(ver Sección 1.3.8.3 en las especificaciones NBC)
[0547] • Etapa 3:Calcular el número de bits necesarios para codificar el espectro cuantificadoXq(n).Si el número de bits excede el presupuesto de bits, esta etapa también encuentra el índice del último coeficiente codificado distinto de cero lastnz, tal que el número de bits consumidos del espectro truncado se puede ajustar dentro del presupuesto de bits. (Ver Sección 1.3.8.4 en las especificaciones de NBC)
[0549] • Etapa4 : Ajustar la ganancia global en función del número de bits calculado en la etapa 3: si el número de bits número de bits es demasiado alto, se aumenta la ganancia global; si el número de bits es demasiado bajo, se disminuye la ganancia global. Luego, se repiten las etapas 2 y 3. La etapa 4 se puede repetir varias veces hasta que se encuentre la ganancia global óptima. Si se requiere baja complejidad, la etapa 4 no se realiza o se realiza solo una vez (como en NBC, ver Sección 1.3.8.6 en las especificaciones de NBC).
[0551] • Etapa 5:Inicialización de los estados del codificador aritmético; Inicialización del contexto c.
[0553] • Etapa 6:Codificar la ganancia global y el último coeficiente codificado distinto de cero lastnz como información secundaria.
[0555] • Etapa 7:Repetir las siguientes subetapas para todos (n = 0; n < lastnz; n = 2):
[0557] oEtapa 7a:Calcular el número mínimo de bits necesarios para representar la amplitud de los dos coeficientesx q (n)yx q (n+ 1)
[0560]
[0562] oEtapa 7b:Codificar los valores de escape numbits2 (VAL_ESC=16) si numbits>2
[0565]
[0567] oEtapa 7c:Codificar los 2 bits más significativos de ambos coeficientesX q(n)y X<q>(n 1) como un símbolo único sym (cuyo valor se halla entre 0 y 15)
[0569]
[0572] oEtapa 7d:Codificar los bits restantes si numbits>2
[0575]
[0577] oEtapa 7e:Codificar el signo de cada coeficiente, excepto si el coeficiente es cero
[0578]
[0581] • Etapa 8:Finalizar el codificador aritmético y calcular una cantidad de bits no utilizados.
[0582] • Etapa 9:Si hay bits sin usar, codifica los bits residuales dados por el cuantificador residual (ver Sección 1.3.9 en las especificaciones NBC).
[0583] Decodificador
[0584] • Etapa 1:Inicialización de los estados del decodificador aritmético; Inicialización del contexto c.
[0585] • Etapa 2:Decodificar la ganancia global y el último coeficiente codificado distinto de cero lastnz.
[0586] • Etapa 3:Repetir las siguientes subetapas para todos (n = 0; n < lastnz; n = 2):
[0587] oEtapa 3a:Decodificar los 2 bits más significativos de ambos coeficientesxq(n)y Xq(n 1)
[0589]
[0591] oEtapa 3b:Decodificar los bits restantes si numbits>2
[0592]
[0595] oEtapa 3c:Decodificar el signo de cada coeficiente, excepto si el coeficiente es cero
[0597]
[0600] • Etapa 4:Ajustar a cero todos los coeficientes n >= lastnz
[0602] • Etapa 5:Finalizar el decodificador aritmético y calcular una cantidad de bits no utilizados.
[0604] • Etapa 6:Si hay bits no utilizados, descodificar los bits residuales. Aplicar el cuantificador residual inverso, que refina los coeficientes distintos de cero utilizando los bits residuales (véase la sección 1.4.3 de las especificaciones NBC).
[0606] • Etapa 7:Cuantificación inversa: multiplicar los coeficientes de MDCT decodificados por ganancia global
[0607] Cabe señalar que las etapas 1 a 9 descritas en el presente documento sección “descripción etapa por etapa del enfoque convencional” se pueden usar en codificadores y decodificadores de audio convencionales, y también se puede usar cuando un codificador de audio o decodificador de acuerdo con la presente invención opera en un primer modo de codificación.
[0609] Por ejemplo, las etapas codificadoras 1 a 9 descritas en la descripción etapa por etapa del enfoque convencional se pueden usar para implementar las funcionalidades 810, 814, 818, 840, 844, 848, 852, 856, 860, 864, 868 y 869. Las etapas del codificador 1, 2, 4, 5, 6, 7a, 7c, 7e y 8 descritas anteriormente en la descripción etapa por etapa del enfoque convencional también se pueden usar en un codificador de audio de acuerdo con una realización de la presente invención, por ejemplo para implementar las funcionalidades 810, 814, 818, 822, 870, 874, 878, 886, 890, 894 y 896 (por ejemplo, cuando trabaja en el nuevo segundo modo).
[0611] Las etapas del decodificador 1, 2, 3, 3a, 3b, 3c, 4, 5, 6, 7 también se pueden usar en una decodificación de audio de acuerdo con la presente invención cuando se opera en el “primer modo”, por ejemplo para implementar las etapas 910, 914, 918, 930, 934, 938, 942, 944, 948, 980.
[0613] Además, las etapas del decodificador 1, 2, 3, 3a, 3c, 4, 5 y 7 también se pueden usar para implementar las funcionalidades 910, 914, 918, 950, 958, 962, 968 y 980 en un decodificador de la invención (por ejemplo, cuando se opera en el “segundo modo”).
[0614] 11.3) Aspectos de la invención propuesta
[0616] A continuación, se describirán las mejoras y extensiones sobre las etapas del codificador y las etapas del decodificador utilizados en el enfoque convencional.
[0618] Se ha encontrado que, a altas tasas de bits, el espectro de MDCT cuantificado X<q>[n] calculado en las etapas del codificador 1 a 4 contiene coeficientes con una gran amplitud. Se ha encontrado que el número mínimo de bits necesarios para representar la amplitud de estos coeficientes (etapa del codificador 7a) es alto y, en la mayoría de los casos, superior a 2. Por lo tanto, en la mayoría de los casos hay al menos un bit menos significativo (LSB) por coeficiente, codificado como información secundario como se describe en el etapa del codificador 7d. Estos bits menos significativos (LSB) son la información menos importante, y se ha encontrado que se pueden eliminar con un impacto relativamente pequeño en la SNR. Se ha encontrado que, en realidad, el impacto es mucho menor que ajustar un coeficiente completo en 0 (es decir, ajustar tanto los MSB de bits más significativos como los LSB de bits menos significativos en 0) como en los enfoques convencionales.
[0620] Las realizaciones de acuerdo con la invención propuesta se basan, por lo tanto, en la idea de que es más eficiente truncar los LSB de bits menos significativos que truncar los coeficientes de alta frecuencia, cuando el número de bits consumidos para codificar los datos MDCT cuantificados excede el presupuesto de bits. Sin embargo, esto solo es ventajoso (o solo posible) cuando los coeficientes de espectro MDCT cuantificados tienen una gran amplitud, a tasas de bits altas. En consecuencia, la invención propuesta agrega un bit de señalización al flujo de bits como información secundaria (en donde dicho bit de señalización, por ejemplo, puede describir si se usa el "primer modo" o el "segundo modo"). Este bit señaliza si se usa el enfoque convencional (por ejemplo, como se describe en la sección descripción etapa por etapa del enfoque convencional) o el nuevo enfoque (como se describe, por ejemplo, en la sección descripción etapa por etapa de una realización de la invención propuesta). Cabe señalar que en el caso de que el número de bits consumidos esté por debajo del presupuesto de bits, no se requiere el nuevo enfoque, y el bit de señalización se puede ajustar para activar el enfoque convencional. El nuevo enfoque se utiliza, por ejemplo, solo cuando el número de bits consumidos supera el presupuesto de bits y se cumplen algunos criterios (por ejemplo, alta tasa de bits).
[0622] En la figura 13, se realizó el mismo experimento que en la figura anterior (figura 12), excepto que se usó una realización de acuerdo con la invención propuesta para el caso de tasa de bits alta de 128 kbps. La SNR a 128 kbps parece ahora mucho más consistente, se han ido todas las caídas.
[0624] 11.4) Descripción etapa por etapa de una realización de la invención propuesta
[0626] A continuación, una realización de acuerdo con la presente invención se describirá etapa por etapa. En esta descripción, también se hará referencia a la descripción etapa por etapa del enfoque convencional que se proporciona en la sección 11.2, ya que se pueden tomar varias de las etapas del enfoque convencional.
[0628] En otras palabras, la mayoría de estas etapas descritas en la sección 11.2 (enfoque convencional) son las mismas en el presente documento. Por lo tanto, solo se describirán aquí las etapas que son diferentes.
[0630] Codificador
[0632] • Etapa 3: Esta etapa aún calcula la cantidad de bits necesarios para codificar el espectro cuantificadoXq(n).Además, esta etapa también debe tomar la decisión de utilizar el enfoque de la técnica anterior o el nuevo enfoque (es decir, establecer el bit de señalización mencionado en la sección anterior)
[0634] ^ nuevo enfoque si: bits consumidos por encima del presupuesto de bits y se cumplen algunos criterios (por ejemplo, tasa de bits alta)
[0636] ^ técnica previa si: bits consumidos por debajo del presupuesto de bits, o no se cumplen los criterios Finalmente, la etapa encuentra el último coeficiente codificado distinto de cero. Se encuentra como se describe en la Sección 11.2 (es decir, para truncar el espectro) solo si se selecciona el enfoque de la técnica previa. Si se selecciona el nuevo enfoque, el espectro no se trunca y lastnz corresponde simplemente al último coeficiente distinto de cero.
[0638] • Etapa 6: adicionalmente, esta etapa ahora codifica el bit de señalización como información secundaria
[0639] Las otras etapas de codificador son las mismas si se seleccionó el enfoque de la técnica previa. Si se selecciona el nuevo enfoque se agregan/modifican las siguientes etapas.
[0641] o Etapa 7a-bis: esta es una etapa adicional justo después de la etapa 7a, que se realiza si numbits> 2. El bit menos significativo de cada coeficiente se guarda, y el coeficiente se modifica de tal manera que su LSB es ahora cero. El signo del coeficiente también se guarda en caso de que el coeficiente fue originalmente cero y se vuelve cero después de ajustar su LSB en cero.
[0644]
[0646] o Etapa 7d:Codificar los bits restantes excepto el bit menos significativo
[0649]
[0651] • Etapa 9:si se selecciona el nuevo enfoque, no se utiliza la cuantificación/codificación residual. Si existen bits no usados, estos se utilizan para codificar los bits nlsbs que se guardaron en Isbs [] (ver la etapa 7a—bis).
[0652] Decodificador
[0653] •Etapa 2:adicionalmente, ahora esta etapa decodifica también el bit de señalización
[0654] Las otras etapas del decodificador son los mismos si se seleccionó el enfoque de la técnica previa. Si se selecciona el nuevo enfoque se agregan/modifican las siguientes etapas.
[0655] ° Etapa 3a-bis:esta es una etapa adicional justo después de la etapa 3a. Guarda numbits en una matriz numbits[n] de modo que se puede reutilizar posteriormente en la etapa 6.
[0656] oEtapa 3b:Decodificar los bits restantes excepto el bit menos significativo
[0657]
[0659] • Etapa6:
Si hay bits no utilizados, decodifique los bits nlsbs y guárdelos en Isbs [ ]. Luego refinar los coeficientes (n,n+1) si numbits[n]>2 usando los bits LSB decodificados.
[0661]
[0662]
[0665] 12. Métodos de acuerdo con las Figuras 14 a 18
[0667] Las Figuras 14 a 15 muestran cuadros de flujo de métodos para la decodificación de audio de acuerdo con realizaciones de la invención.
[0669] Las Figuras 16 a 18 muestran cuadros de flujo de métodos para la decodificación de audio de acuerdo con realizaciones de la invención.
[0671] Cabe señalar que los métodos se pueden suplementar con cualquiera de las características y funcionalidades descritas en el presente documento con respecto a los aparatos correspondientes y mediante una de las funcionalidades mencionadas, ya sea individualmente o en combinación.
[0673] 13. Alternativas de implementación
[0675] Aunque algunos aspectos se han descrito en el contexto de un aparato, está claro que estos aspectos también representan una descripción del método correspondiente, donde un bloque o dispositivo corresponde a una etapa del método o una característica de una etapa del método. Análogamente, los aspectos descritos en el contexto de una etapa del método también representan una descripción de un
[0677] bloque o elemento o característica correspondiente de un aparato correspondiente. Algunos o todas las etapas del método se pueden ejecutar con (o usando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, uno o más de los pasos de método importantes pueden ser ejecutados por esos aparatos.
[0679] La señal de audio codificada de la invención se puede almacenar en un medio de almacenamiento digital o se puede transmitir en un medio de transmisión, tal como un medio de transmisión inalámbrico o un medio de transmisión por cable, tal como Internet.
[0681] De acuerdo con ciertos requerimientos de implementación, las realizaciones de la invención se pueden implementar en hardware o en software. La implementación puede efectuarse utilizando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tenga señales de control legibles electrónicamente almacenadas en ella, que cooperan (o sean capaces de cooperar) con un sistema de computadora programable de modo que se realice el método respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por computadora.
[0683] Algunas realizaciones de acuerdo a la invención comprenden un portador de datos que tiene señales de control legibles electrónicamente, las cuales son capaces de cooperar con un sistema de computadora programable, de modo que se realice uno de los métodos descritos en el presente documento.
[0685] Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, operando el código de programa para realizar uno de los métodos cuando el producto de programa informático se ejecute en un ordenador. El código del programa, por ejemplo, se puede almacenar en un portador legible por máquina.
[0686] Otras realizaciones comprenden el programa informático para llevar a cabo uno de los métodos descritos en el presente documento, almacenados en un soporte legible por máquina.
[0687] En otras palabras, una realización del método de la invención es, por lo tanto, un programa de computadora que tiene un código de programa para realizar uno de los métodos descritos en la presente, cuando el programa informático se ejecute en un ordenador.
[0688] Una realización adicional del método de la invención es, por lo tanto, un portador de datos (o un medio de almacenamiento digital o un medio legible por ordenador) que comprende, registrado en él, el programa informático para realizar uno de los métodos descritos en el presente documento. El portador de datos, el medio de almacenamiento digital o el medio grabado son típicamente tangibles y/o no transitorios.
[0689] Una realización adicional del método de la invención es, por consiguiente, una corriente de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en el presente documento. El flujo de datos o la secuencia de señales pueden configurarse por ejemplo para transferirse a través de una conexión de comunicación de datos, por ejemplo a través de la Internet.
[0690] Una realización adicional comprende medios de procesamiento, por ejemplo una computadora o un dispositivo lógico programable, configurado para o adaptado para realizar uno de los métodos descritos en el presente documento.
[0691] Una realización adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los métodos descritos en el presente documento.
[0692] Una realización adicional según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, de manera electrónica u óptica) un programa informático para realizar uno de los métodos descritos en el presente documento a un receptor. El receptor puede, por ejemplo, ser un ordenador, un dispositivo móvil, un dispositivo de memoria o similar. El aparato o sistema puede, por ejemplo, comprender un servidor de archivos para transferir el programa informático al receptor.
[0693] En algunas realizaciones, puede usarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programable en el campo) para realizar algunas o todas de las funcionalidades de los métodos descritos en el presente documento. En algunas realizaciones, un arreglo de puertas programables en el campo puede cooperar con un microprocesador para realizar uno de los métodos descritos en el presente documento. De manera general, los métodos se realizan preferiblemente por medio de cualquier aparato de hardware.
[0694] El aparato descrito en la presente puede implementarse utilizando un aparato de hardware o utilizando un ordenador o utilizando una combinación de un aparato de hardware y un ordenador.
[0695] El aparato descrito en la presente o cualquiera de los componentes del aparato descrito en el presente documento, puede implementarse al menos parcialmente en hardware y/o en software.
[0696] Los métodos descritos en la presente pueden realizarse utilizando un aparato de hardware o utilizando un ordenador o utilizando una combinación de un aparato de hardware y un ordenador.
[0697] Los métodos descritos en el presente documento, o cualquier componente del aparato descrito en el presente documento, puede realizarse al menos parcialmente por hardware y/o por software.

Claims (1)

1. REIVINDICACIONES
Un codificador de audio (300;400;500;600) para proporcionar una información de audio codificada (312;412;512;612) sobre la base de una información de audio de entrada (310;410;510;610), en el que el codificador de audio está configurado para obtener (620,630,640,650,660) valores espectrales (330;662;<Xq>[n]) que representan un contenido de audio de la información de audio de entrada, y en donde el codificador de audio está configurado para codificar (670;800) al menos una pluralidad de los valores espectrales, para obtener una información codificada (350,450,550,672; sym,lsbs[]) que representa los valores espectrales; en donde el codificador de audio está configurado para obtener (810,814,818,822) una información de ganancia que determina las etapas de cuantificación de una cuantificación de valores espectrales, y que determina una demanda de bits para codificar los valores espectrales cuantificados (330;662;X<q>[n]);
en donde el codificador de audio está configurado para codificar (878,886,890; 1000a, 1020a, 1040a -1040d) uno o más bits más significativos usando códigos de símbolo respectivos (sym) para una pluralidad de los valores espectrales (Xq[0]...Xq[lastnz -1]) usando una codificación aritmética, y para codificar uno o más bits menos significativos para uno o más de los valores espectrales,
en donde un respectivo código de símbolo (sym) representa uno o más bits más significativos por valor espectral para uno o más valores espectrales,
en donde el codificador de audio está configurado para codificar (882;898;1010a-1010e, 1011 a-1011e) uno o más bits menos significativos asociados con uno o más de los valores espectrales en dependencia de un presupuesto de bits disponible, de modo que se codifican uno o más bits menos significativos asociados con uno o más de los valores espectrales, mientras que no se codifican bits menos significativos para uno o más valores espectrales diferentes para los cuales se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos; y
en donde el codificador de audio está configurado para proporcionar la información de audio codificada usando la información codificada que representa los valores espectrales.
El codificador de audio de la reivindicación 1, en donde el codificador de audio está configurado para obtener (810) una primera estimación de la información de ganancia en función de una energía de grupos de valores espectrales,
cuantificar (814) el conjunto de valores espectrales utilizando la primera estimación de la información de ganancia,
para calcular o estimar (818) un número de bits necesarios codificar el conjunto de valores espectrales cuantificados usando la primera estimación de la información de ganancia o usando una información de ganancia refinada, y
para decidir (830) si usar el primer modo o el segundo modo en dependencia de un número de bits necesario.
El codificador de audio de acuerdo con la reivindicación 1 o la reivindicación 2,
en donde el codificador de audio está configurado para ser conmutable entre
- un primer modo en el que se omite una codificación de valores espectrales distintos de cero en una gama de frecuencias superior en caso de que un presupuesto de bits disponible se agote por valores espectrales codificados en una gama de frecuencias inferior y en el que se codifican los bits menos significativos para todos los valores espectrales para los que se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y
- un segundo modo en el que se codifican uno o varios bits menos significativos asociados a uno o varios de los valores espectrales, mientras que no se codifican bits menos significativos para uno o varios otros valores espectrales para los que se codifican uno o varios bits más significativos y que comprenden más bits que los bits más significativos; y
en el que el codificador de audio está configurado para decidir si usar el primer modo o el segundo modo en dependencia en un número de bits necesario y en dependencia de un criterio que indica cuántos valores espectrales comprenden más bits que el uno o más bits más significativos.
4. El codificador de audio de acuerdo con la reivindicación 1 o la reivindicación 2,
en donde el codificador de audio está configurado para ser conmutable entre
- un primer modo en el que se omite una codificación de valores espectrales distintos de cero en una gama de frecuencias superior en caso de que un presupuesto de bits disponible se agote por valores espectrales codificados en una gama de frecuencias inferior y en el que se codifican los bits menos significativos para todos los valores espectrales para los que se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y
- un segundo modo en el que se codifican uno o varios bits menos significativos asociados a uno o varios de los valores espectrales, mientras que no se codifican bits menos significativos para uno o varios otros valores espectrales para los que se codifican uno o varios bits más significativos y que comprenden más bits que los bits más significativos; y
en donde el codificador de audio se configura para decidir si usar el primer modo o el segundo modo en dependencia del número de bits necesarios y en dependencia de una tasa de bits, de modo que se elige el segundo modo si una tasa de bit es mayor que o igual a una tasa de bits umbral y si un número de bits calculados o estimados necesarios para codificar el conjunto de valores espectrales es mayor que un presupuesto de bits.
5. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 4, en donde la codificación aritmética está configurada para determinar posiciones de bits del al menos uno o más bits más significativos e incluir en la representación codificada aritméticamente una información que describe las posiciones de bits.
6. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 5, en donde el codificador de audio está configurado para mapear al menos dos bits más significativos del al menos un valor espectral en un símbolo de una representación codificada aritméticamente, que representa los al menos dos bits más significativos del al menos un valor espectral.
7. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 6, en donde el codificador de audio está configurado para codificar, para todos los valores espectrales para los que se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos y un bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos.
8. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 7, en donde el codificador de audio está configurado para codificar, en una primera fase de codificación,
- uno o más bits más significativos por valor espectral, y
para todos los valores espectrales para los cuales se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos y un bit menos significativo, uno o más bits intermedios, cuyas posiciones de bit están entre el bit menos significativo y el uno o más bits más significativos, y
para todos los valores espectrales para los cuales se codifican el uno o más bits más significativos y para los cuales el uno o más bits más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor distinto de cero, signos; y
en donde el codificador de audio está configurado para omitir selectivamente, en la primera fase de codificación, una codificación de un signo para los valores espectrales para los cuales el uno o más valores más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero, y
en donde el codificador de audio está configurado para codificar selectivamente, en una segunda fase de codificación que sigue a la primera fase de codificación, la información de signo para los valores espectrales para los cuales el uno o más valores más significativos y cualquiera de los bits intermedios, en la medida que estén presentes los bits intermedios, indican un valor cero y para los cuales una información de bit menos significativo indica un valor distinto de cero.
9. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 8, en donde el codificador de audio está configurado para sólo incluir una información de signo en la representación de audio codificada para
valores espectrales que sólo difieren de cero en un bit menos significativo si el bit menos significativo de tales valores espectrales está realmente codificado.
10. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 9, en donde el codificador de audio está configurado para proporcionar secuencialmente bits subsiguientes de una secuencia de bits de información de bits menos significativos con el fin de codificar valores de bits menos significativos asociados con los valores espectrales.
11. El codificador de audio de acuerdo con la reivindicación 10, en donde el codificador de audio está configurado para proporcionar un único bit de la secuencia de bits de información de bits menos significativos para valores espectrales respectivos para los que uno o más valores más significativos y cualesquiera bits intermedios, en la medida en que estén presentes bits intermedios, indican un valor distinto de cero, en donde el único bit utilizado de la secuencia de bits de información de bits menos significativos se utiliza para codificar un valor de bit menos significativo; y en donde el codificador de audio está configurado para proporcionar un único bit de la secuencia de bits de información de bits menos significativos para valores espectrales respectivos para los que uno o más valores más significativos y cualesquiera bits intermedios, en la medida en que estén presentes bits intermedios, indican un valor de cero, y para los que el único bit proporcionado de la secuencia de bits de información de bits menos significativos confirma el valor de cero; y en donde el codificador de audio está configurado para proporcionar dos bits subsiguientes de la secuencia de bits de información de bits menos significativos para valores espectrales respectivos para los que uno o más valores más significativos y cualesquiera bits intermedios, en la medida en que estén presentes bits intermedios, indican un valor de cero, y para los que un primero de los bits proporcionados de la secuencia de bits de información de bits menos significativos indica una desviación del valor de cero mediante un valor de bit menos significativo, en donde un segundo de los bits proporcionados de la secuencia de bits de información de bits menos significativos codifica un signo del valor espectral respectivo.
12. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 11, en donde el codificador de audio está configurado para codificar bits menos significativos comenzando desde un bit menos significativo asociado con un valor espectral de frecuencia más baja y procediendo hacia valores espectrales asociados con frecuencias cada vez más altas,
de modo que la información codificada para refinar los valores espectrales mediante la información de bits menos significativos se proporcione en una gama que vaya desde un valor espectral de frecuencia más baja hasta un valor espectral para el que se proporcione una última información de bits menos significativos, y de modo que no se proporcione información codificada para refinar los valores espectrales mediante la información de bits menos significativos para los valores espectrales que tengan frecuencias asociadas superiores a una frecuencia asociada con el valor espectral para el que se proporcione la última información de bits menos significativos.
13. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 12, en donde el decodificador de audio está configurado para ser conmutable entre
- un primer modo en el que se omite una codificación de valores espectrales distintos de cero en una gama de frecuencias superior en caso de que un presupuesto de bits disponible se agote por valores espectrales codificados en una gama de frecuencias inferior y en el que se codifican los bits menos significativos para todos los valores espectrales para los que se codifican uno o más bits más significativos y que comprenden más bits que los bits más significativos, y
- un segundo modo en el que se codifican uno o varios bits menos significativos asociados a uno o varios de los valores espectrales, mientras que no se codifican bits menos significativos para uno o varios otros valores espectrales para los que se codifican uno o varios bits más significativos y que comprenden más bits que el bit más significativo.
14. El codificador de audio de acuerdo con la reivindicación 13, en donde el codificador de audio está configurado para proporcionar una bandera de flujo de bits que se incluye en la información de audio codificada a fin de indicar si el codificador de audio opera en el primer modo o en el segundo modo.
15. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 14, en donde el codificador de audio está configurado para codificar conjuntamente uno o más bits más significativos por valor espectral para al menos dos valores espectrales utilizando códigos de símbolo respectivos, en donde un código de símbolo respectivo representa uno o más bits más significativos por valor espectral para al menos dos valores espectrales.
16. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 15, en donde el codificador de audio está configurado para determinar, cuando opera en segundo modo, un valor espectral distinto de cero de frecuencia más alta real y para codificar al menos uno o más bits más significativos de todos los valores espectrales distintos de cero o de todos los grupos de valores espectrales distintos de cero.
17. El codificador de audio de acuerdo con una de las reivindicaciones 1 a 16, en donde el codificador de audio está configurado para codificar, cuando funciona en el segundo modo, todos los bits excepto un bit menos significativo para todos los valores espectrales distintos de cero, y en donde el codificador de audio está configurado para codificar bits menos significativos para valores espectrales hasta que se agote un presupuesto de bits.
18. El codificador de audio según una de las reivindicaciones 1 a 17, en donde el codificador de audio está configurado para obtener una información de ganancia que determina pasos de cuantización de una cuantización de valores espectrales, y que determina una demanda de bits para codificar los valores espectrales cuantizados.
19. Un método para proporcionar una información de audio codificada (312;412;512;612) sobre la base de una información de audio de entrada (310;410;510;610),
en donde el método comprende obtener (620,630,640,650,660) valores espectrales (330;662;<Xq>[n]) que representen un contenido de audio de la información de audio de entrada, y en el que el método comprende codificar (670;800) al menos una pluralidad de los valores espectrales, a fin de obtener una información codificada (350,450,550,672; sym,lsbs[]) que represente los valores espectrales;
en donde el método comprende obtener una información de ganancia que determina pasos de cuantificación de una cuantificación de valores espectrales y que determina una demanda de bits para codificar los valores espectrales cuantificados;
en donde el método comprende codificar uno o más bits más significativos utilizando códigos de símbolo respectivos (sym) para una pluralidad de los valores espectrales (Xq[0]...Xq[lastnz-1]) utilizando una codificación aritmética, y codificar uno o más bits menos significativos para uno o más de los valores espectrales, en donde un código de símbolo respectivo (sym) representa uno o más bits más significativos por valor espectral para uno o más valores espectrales,
en donde el método comprende codificar (882;898;1010a-1010e, 1011a-1011e) uno o más bits menos significativos asociados con uno o más de los valores espectrales en dependencia de un presupuesto de bits disponible,
de modo que se codifiquen uno o varios bits menos significativos asociados a uno o varios de los valores espectrales, mientras que no se codifican bits menos significativos para otro u otros valores espectrales para los que se codifican uno o más bits más significativos y que comprenden más bits que el uno o más bits más significativos; y
en donde el método comprende proporcionar la información de audio codificada utilizando la información codificada que representa los valores espectrales.
20. Programa informático para llevar a cabo el método de acuerdo con la reivindicación 19 cuando el programa informático se ejecuta en un ordenador.
ES23218364T 2017-11-10 2018-11-08 Audio encoders, methods and computer programs adapting an encoding of least significant bits Active ES3048658T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2017/078959 WO2019091576A1 (en) 2017-11-10 2017-11-10 Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits

Publications (1)

Publication Number Publication Date
ES3048658T3 true ES3048658T3 (en) 2025-12-11

Family

ID=60293975

Family Applications (2)

Application Number Title Priority Date Filing Date
ES23218364T Active ES3048658T3 (en) 2017-11-10 2018-11-08 Audio encoders, methods and computer programs adapting an encoding of least significant bits
ES18796482T Active ES2972210T3 (es) 2017-11-10 2018-11-08 Codificadores de audio, decodificadores de audio, métodos y programas informáticos que adaptan una codificación y decodificación de bits menos significativos

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES18796482T Active ES2972210T3 (es) 2017-11-10 2018-11-08 Codificadores de audio, decodificadores de audio, métodos y programas informáticos que adaptan una codificación y decodificación de bits menos significativos

Country Status (18)

Country Link
US (3) US11380339B2 (es)
EP (3) EP3707710B1 (es)
JP (3) JP7104785B2 (es)
KR (3) KR102492557B1 (es)
CN (3) CN111933159B (es)
AR (1) AR113482A1 (es)
AU (3) AU2018365309B2 (es)
BR (3) BR112020009325A2 (es)
CA (3) CA3082282C (es)
ES (2) ES3048658T3 (es)
MX (3) MX2020004770A (es)
MY (3) MY208438A (es)
PL (1) PL3707710T3 (es)
RU (3) RU2767286C2 (es)
SG (3) SG11202004287YA (es)
TW (1) TWI758556B (es)
WO (2) WO2019091576A1 (es)
ZA (3) ZA202003441B (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253941A1 (en) * 2019-06-17 2020-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs
KR102857969B1 (ko) * 2019-06-17 2025-09-10 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 신호의존적 수 및 정밀도 제어가 가능한 오디오 인코더, 오디오 디코더 및 관련 방법 및 컴퓨터 프로그램
CN112735446B (zh) * 2020-12-30 2022-05-17 北京百瑞互联技术有限公司 在lc3音频码流中添加额外信息的方法、系统及介质
CN114913863B (zh) * 2021-02-09 2024-10-18 同响科技股份有限公司 数字音信数据编码方法
CN112992166B (zh) * 2021-05-08 2021-08-20 北京百瑞互联技术有限公司 一种动态调整lc3音频编码速率的方法、装置及存储介质
TW202333143A (zh) * 2021-12-23 2023-08-16 弗勞恩霍夫爾協會 在音訊寫碼中使用濾波用於頻譜時間改善頻譜間隙填充之方法及設備
CN114550732B (zh) * 2022-04-15 2022-07-08 腾讯科技(深圳)有限公司 一种高频音频信号的编解码方法和相关装置
CN118433383A (zh) * 2024-05-09 2024-08-02 星宸科技股份有限公司 图像压缩装置与图像压缩方法

Family Cites Families (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3639753A1 (de) 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh Verfahren zum uebertragen digitalisierter tonsignale
US5012517A (en) 1989-04-18 1991-04-30 Pacific Communication Science, Inc. Adaptive transform coder having long term predictor
US5233660A (en) 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
JPH05281996A (ja) 1992-03-31 1993-10-29 Sony Corp ピッチ抽出装置
IT1270438B (it) 1993-06-10 1997-05-05 Sip Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce
US5581653A (en) 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
JP3402748B2 (ja) 1994-05-23 2003-05-06 三洋電機株式会社 音声信号のピッチ周期抽出装置
JPH0811644A (ja) 1994-06-27 1996-01-16 Nissan Motor Co Ltd ルーフモール取付構造
US6167093A (en) 1994-08-16 2000-12-26 Sony Corporation Method and apparatus for encoding the information, method and apparatus for decoding the information and method for information transmission
EP0732687B2 (en) 1995-03-13 2005-10-12 Matsushita Electric Industrial Co., Ltd. Apparatus for expanding speech bandwidth
KR100322706B1 (ko) * 1995-09-25 2002-06-20 윤종용 선형예측부호화계수의부호화및복호화방법
US5781888A (en) 1996-01-16 1998-07-14 Lucent Technologies Inc. Perceptual noise shaping in the time domain via LPC prediction in the frequency domain
WO1997027578A1 (en) 1996-01-26 1997-07-31 Motorola Inc. Very low bit rate time domain speech analyzer for voice messaging
US5812971A (en) 1996-03-22 1998-09-22 Lucent Technologies Inc. Enhanced joint stereo coding method using temporal envelope shaping
JPH1091194A (ja) 1996-09-18 1998-04-10 Sony Corp 音声復号化方法及び装置
US6570991B1 (en) 1996-12-18 2003-05-27 Interval Research Corporation Multi-feature speech/music discrimination system
KR100261253B1 (ko) 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
GB2326572A (en) 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
AU9404098A (en) 1997-09-23 1999-04-12 Voxware, Inc. Scalable and embedded codec for speech and audio signals
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
JP3344962B2 (ja) 1998-03-11 2002-11-18 松下電器産業株式会社 オーディオ信号符号化装置、及びオーディオ信号復号化装置
US6507814B1 (en) 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6992626B2 (en) * 1999-03-05 2006-01-31 Rannoch Corporation Method and apparatus to correlate aircraft flight tracks and events with relevant airport operations information
US6735561B1 (en) 2000-03-29 2004-05-11 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US7099830B1 (en) 2000-03-29 2006-08-29 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
EP1139665A1 (en) 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
US6665638B1 (en) 2000-04-17 2003-12-16 At&T Corp. Adaptive short-term post-filters for speech coders
US7395209B1 (en) * 2000-05-12 2008-07-01 Cirrus Logic, Inc. Fixed point audio decoding system and method
AU2001270365A1 (en) 2001-06-11 2002-12-23 Ivl Technologies Ltd. Pitch candidate selection method for multi-channel pitch detectors
US7353168B2 (en) 2001-10-03 2008-04-01 Broadcom Corporation Method and apparatus to eliminate discontinuities in adaptively filtered signals
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US20030187663A1 (en) 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
DE10217297A1 (de) * 2002-04-18 2003-11-06 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
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
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
JP4728568B2 (ja) * 2002-09-04 2011-07-20 マイクロソフト コーポレーション レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4287637B2 (ja) 2002-10-17 2009-07-01 パナソニック株式会社 音声符号化装置、音声符号化方法及びプログラム
US7318027B2 (en) * 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
CN1748247B (zh) 2003-02-11 2011-06-15 皇家飞利浦电子股份有限公司 音频编码
KR20030031936A (ko) 2003-02-13 2003-04-23 배명진 피치변경법을 이용한 단일 음성 다중 목소리 합성기
US20040162866A1 (en) 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms
KR100923301B1 (ko) * 2003-03-22 2009-10-23 삼성전자주식회사 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
JP2006527864A (ja) 2003-06-17 2006-12-07 松下電器産業株式会社 受信機器、送信機器および伝送システム
CN100508030C (zh) 2003-06-30 2009-07-01 皇家飞利浦电子股份有限公司 一种编码/解码音频信号的方法及相应设备
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding
KR100550003B1 (ko) 2003-07-11 2006-02-08 학교법인연세대학교 상호부호화기에서 개회로 피치 추정 방법 및 그 장치
US7983909B2 (en) * 2003-09-15 2011-07-19 Intel Corporation Method and apparatus for encoding audio data
US7009533B1 (en) 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
KR20050087956A (ko) * 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
ATE390683T1 (de) 2004-03-01 2008-04-15 Dolby Lab Licensing Corp Mehrkanalige audiocodierung
DE102004009949B4 (de) * 2004-03-01 2006-03-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln eines Schätzwertes
DE102004009954B4 (de) 2004-03-01 2005-12-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Multikanalsignals
CN1930607B (zh) 2004-03-05 2010-11-10 松下电器产业株式会社 差错隐藏装置以及差错隐藏方法
KR100561869B1 (ko) * 2004-03-10 2006-03-17 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
US7392195B2 (en) 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
US8260611B2 (en) 2005-04-01 2012-09-04 Qualcomm Incorporated Systems, methods, and apparatus for highband excitation generation
US7546240B2 (en) 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
KR20070037945A (ko) 2005-10-04 2007-04-09 삼성전자주식회사 오디오 신호의 부호화/복호화 방법 및 장치
US20070118361A1 (en) 2005-10-07 2007-05-24 Deepen Sinha Window apparatus and method
KR100888474B1 (ko) 2005-11-21 2009-03-12 삼성전자주식회사 멀티채널 오디오 신호의 부호화/복호화 장치 및 방법
US7805297B2 (en) 2005-11-23 2010-09-28 Broadcom Corporation Classification-based frame loss concealment for audio signals
US9123350B2 (en) 2005-12-14 2015-09-01 Panasonic Intellectual Property Management Co., Ltd. Method and system for extracting audio features from an encoded bitstream for audio classification
US8255207B2 (en) 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
US8345890B2 (en) 2006-01-05 2013-01-01 Audience, Inc. System and method for utilizing inter-microphone level differences for speech enhancement
CN101395661B (zh) 2006-03-07 2013-02-06 艾利森电话股份有限公司 音频编码和解码的方法和设备
US8150065B2 (en) 2006-05-25 2012-04-03 Audience, Inc. System and method for processing an audio signal
JP2009539132A (ja) 2006-05-30 2009-11-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオ信号の線形予測符号化
CN1983909B (zh) 2006-06-08 2010-07-28 华为技术有限公司 一种丢帧隐藏装置和方法
US8015000B2 (en) 2006-08-03 2011-09-06 Broadcom Corporation Classification-based frame loss concealment for audio signals
WO2008021247A2 (en) 2006-08-15 2008-02-21 Dolby Laboratories Licensing Corporation Arbitrary shaping of temporal noise envelope without side-information
FR2905510B1 (fr) 2006-09-01 2009-04-10 Voxler Soc Par Actions Simplif Procede d'analyse en temps reel de la voix pour le controle en temps reel d'un organe numerique et dispositif associe
CN101140759B (zh) 2006-09-08 2010-05-12 华为技术有限公司 语音或音频信号的带宽扩展方法及系统
US7752038B2 (en) 2006-10-13 2010-07-06 Nokia Corporation Pitch lag estimation
DE102006049154B4 (de) 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
KR101292771B1 (ko) 2006-11-24 2013-08-16 삼성전자주식회사 오디오 신호의 오류은폐방법 및 장치
JPWO2008072701A1 (ja) 2006-12-13 2010-04-02 パナソニック株式会社 ポストフィルタおよびフィルタリング方法
FR2912249A1 (fr) 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
JP4871894B2 (ja) 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
US20110022924A1 (en) 2007-06-14 2011-01-27 Vladimir Malenovsky Device and Method for Frame Erasure Concealment in a PCM Codec Interoperable with the ITU-T Recommendation G. 711
EP2015293A1 (en) 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
JP4928366B2 (ja) 2007-06-25 2012-05-09 日本電信電話株式会社 ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体
JP4572218B2 (ja) 2007-06-27 2010-11-04 日本電信電話株式会社 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体
US10795949B2 (en) 2007-07-26 2020-10-06 Hamid Hatami-Hanza Methods and systems for investigation of compositions of ontological subjects and intelligent systems therefrom
WO2009027606A1 (fr) * 2007-08-24 2009-03-05 France Telecom Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites
EP2186087B1 (en) 2007-08-27 2011-11-30 Telefonaktiebolaget L M Ericsson (PUBL) Improved transform coding of speech and audio signals
CN100524462C (zh) 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
JP5547081B2 (ja) 2007-11-02 2014-07-09 華為技術有限公司 音声復号化方法及び装置
WO2009066869A1 (en) 2007-11-21 2009-05-28 Electronics And Telecommunications Research Institute Frequency band determining method for quantization noise shaping and transient noise shaping method using the same
JP5485909B2 (ja) 2007-12-31 2014-05-07 エルジー エレクトロニクス インコーポレイティド オーディオ信号処理方法及び装置
US8386271B2 (en) 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
RU2475868C2 (ru) 2008-06-13 2013-02-20 Нокиа Корпорейшн Способ и устройство для маскирования ошибок кодированных аудиоданных
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
EP2144231A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme with common preprocessing
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
EP2311034B1 (en) 2008-07-11 2015-11-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding frames of sampled audio signals
PL2346029T3 (pl) * 2008-07-11 2013-11-29 Fraunhofer Ges Forschung Koder sygnału audio, sposób kodowania sygnału audio i odpowiadający mu program komputerowy
US8577673B2 (en) 2008-09-15 2013-11-05 Huawei Technologies Co., Ltd. CELP post-processing for music signals
KR20130069833A (ko) 2008-10-08 2013-06-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 다중 분해능 스위치드 오디오 부호화/복호화 방법
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
MX2011007925A (es) * 2009-01-28 2011-08-17 Dten Forschung E V Fraunhofer Ges Zur Foeerderung Der Angewan Codificador de audio, decodificador de audio, información de audio codificada, métodos para la codificación y decodificación de una señal de audio y programa de computadora.
JP4945586B2 (ja) 2009-02-02 2012-06-06 株式会社東芝 信号帯域拡張装置
US20100223061A1 (en) * 2009-02-27 2010-09-02 Nokia Corporation Method and Apparatus for Audio Coding
JP4932917B2 (ja) 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ 音声復号装置、音声復号方法、及び音声復号プログラム
FR2944664A1 (fr) 2009-04-21 2010-10-22 Thomson Licensing Dispositif et procede de traitement d'images
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US8428938B2 (en) 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
CN101958119B (zh) 2009-07-16 2012-02-29 中兴通讯股份有限公司 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法
ES2441069T3 (es) 2009-10-08 2014-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación
WO2011044700A1 (en) 2009-10-15 2011-04-21 Voiceage Corporation Simultaneous time-domain and frequency-domain noise shaping for tdac transforms
ES2531013T3 (es) * 2009-10-20 2015-03-10 Fraunhofer Ges Forschung Codificador de audio, decodificador de audio, método para codificar información de audio, método para decodificar información de audio y programa de computación que usa la detección de un grupo de valores espectrales previamente decodificados
EP2473995B9 (en) 2009-10-20 2016-12-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio signal encoder, audio signal decoder, method for providing an encoded representation of an audio content, method for providing a decoded representation of an audio content and computer program for use in low delay applications
US7978101B2 (en) * 2009-10-28 2011-07-12 Motorola Mobility, Inc. Encoder and decoder using arithmetic stage to compress code space that is not fully utilized
US8207875B2 (en) * 2009-10-28 2012-06-26 Motorola Mobility, Inc. Encoder that optimizes bit allocation for information sub-parts
US9020812B2 (en) 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
BR122021008581B1 (pt) 2010-01-12 2022-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo
US20110196673A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
EP2375409A1 (en) * 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
FR2961980A1 (fr) 2010-06-24 2011-12-30 France Telecom Controle d'une boucle de retroaction de mise en forme de bruit dans un codeur de signal audionumerique
KR101696632B1 (ko) 2010-07-02 2017-01-16 돌비 인터네셔널 에이비 선택적인 베이스 포스트 필터
CN103119646B (zh) * 2010-07-20 2016-09-07 弗劳恩霍夫应用研究促进协会 音频编码器、音频解码器、编码音频信息的方法以及解码音频信息的方法
KR101676477B1 (ko) * 2010-07-21 2016-11-15 삼성전자주식회사 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법
US9082416B2 (en) 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
US8738385B2 (en) 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
MY165853A (en) 2011-02-14 2018-05-18 Fraunhofer Ges Forschung Linear prediction based coding scheme using spectral domain noise shaping
US9270807B2 (en) 2011-02-23 2016-02-23 Digimarc Corporation Audio localization using audio signal encoding and recognition
SG194199A1 (en) 2011-03-18 2013-12-30 Fraunhofer Ges Forschung Frame element positioning in frames of a bitstream representing audio content
CN103620675B (zh) 2011-04-21 2015-12-23 三星电子株式会社 对线性预测编码系数进行量化的设备、声音编码设备、对线性预测编码系数进行反量化的设备、声音解码设备及其电子装置
WO2012152764A1 (en) 2011-05-09 2012-11-15 Dolby International Ab Method and encoder for processing a digital stereo audio signal
FR2977439A1 (fr) 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
US9363339B2 (en) 2011-07-12 2016-06-07 Hughes Network Systems, Llc Staged data compression, including block level long range compression, for data streams in a communications system
FR2977969A1 (fr) 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
WO2013107602A1 (en) 2012-01-20 2013-07-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for audio encoding and decoding employing sinusoidal substitution
JP5947971B2 (ja) 2012-04-05 2016-07-06 華為技術有限公司Huawei Technologies Co.,Ltd. マルチチャネルオーディオ信号の符号化パラメータを決定する方法及びマルチチャネルオーディオエンコーダ
US20130282373A1 (en) 2012-04-23 2013-10-24 Qualcomm Incorporated Systems and methods for audio signal processing
US9026451B1 (en) 2012-05-09 2015-05-05 Google Inc. Pitch post-filter
ES3017132T3 (en) 2012-06-08 2025-05-12 Samsung Electronics Co Ltd Method and apparatus for concealing frame error and method and apparatus for audio decoding
GB201210373D0 (en) * 2012-06-12 2012-07-25 Meridian Audio Ltd Doubly compatible lossless audio sandwidth extension
FR2992766A1 (fr) 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
CN102779526B (zh) 2012-08-07 2014-04-16 无锡成电科大科技发展有限公司 语音信号中基音提取及修正方法
US9406307B2 (en) 2012-08-19 2016-08-02 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems
US9293146B2 (en) 2012-09-04 2016-03-22 Apple Inc. Intensity stereo coding in advanced audio coding
CN107731237B (zh) 2012-09-24 2021-07-20 三星电子株式会社 时域帧错误隐藏设备
CN103714821A (zh) 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
US9401153B2 (en) 2012-10-15 2016-07-26 Digimarc Corporation Multi-mode audio recognition and auxiliary data encoding and decoding
US9318116B2 (en) 2012-12-14 2016-04-19 Disney Enterprises, Inc. Acoustic data transmission based on groups of audio receivers
EP2757558A1 (en) * 2013-01-18 2014-07-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain level adjustment for audio signal decoding or encoding
FR3001593A1 (fr) 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
MY198868A (en) 2013-02-05 2023-10-02 Ericsson Telefon Ab L M Method and appartus for controlling audio frame loss concealment
TWI530941B (zh) 2013-04-03 2016-04-21 杜比實驗室特許公司 用於基於物件音頻之互動成像的方法與系統
MX352092B (es) 2013-06-21 2017-11-08 Fraunhofer Ges Forschung Aparato y método para mejorar el ocultamiento del libro de códigos adaptativo en la ocultación similar a acelp empleando una resincronización de pulsos mejorada.
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
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
RU2638734C2 (ru) 2013-10-18 2017-12-15 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Кодирование спектральных коэффициентов спектра аудиосигнала
US9906858B2 (en) 2013-10-22 2018-02-27 Bongiovi Acoustics Llc System and method for digital signal processing
JP6396459B2 (ja) 2013-10-31 2018-09-26 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 周波数領域における時間的予備整形雑音の挿入によるオーディオ帯域幅拡張
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
EP3483881B1 (en) * 2013-11-13 2024-10-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder for encoding an audio signal, audio transmission system and method for determining correction values
CN110176241B (zh) * 2014-02-17 2023-10-31 三星电子株式会社 信号编码方法和设备以及信号解码方法和设备
GB2524333A (en) 2014-03-21 2015-09-23 Nokia Technologies Oy Audio signal payload
BR122020015614B1 (pt) 2014-04-17 2022-06-07 Voiceage Evs Llc Método e dispositivo para interpolar parâmetros de filtro de predição linear em um quadro de processamento de sinal sonoro atual seguindo um quadro de processamento de sinal sonoro anterior
US9396733B2 (en) * 2014-05-06 2016-07-19 University Of Macau Reversible audio data hiding
NO2780522T3 (es) 2014-05-15 2018-06-09
EP2963646A1 (en) 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder and method for decoding an audio signal, encoder and method for encoding an audio signal
US9685166B2 (en) 2014-07-26 2017-06-20 Huawei Technologies Co., Ltd. Classification between time-domain coding and frequency domain coding
EP2980796A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
CN107112022B (zh) 2014-07-28 2020-11-10 三星电子株式会社 用于时域数据包丢失隐藏的方法
EP2980799A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an audio signal using a harmonic post-filter
SG11201509526SA (en) 2014-07-28 2017-04-27 Fraunhofer Ges Forschung Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
EP2980798A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Harmonicity-dependent controlling of a harmonic filter tool
EP2988300A1 (en) 2014-08-18 2016-02-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Switching of sampling rates at audio processing devices
EP3067886A1 (en) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal
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
US10296959B1 (en) 2015-03-30 2019-05-21 Audible, Inc. Automated recommendations of audio narrations
US10049684B2 (en) 2015-04-05 2018-08-14 Qualcomm Incorporated Audio bandwidth selection
US9886963B2 (en) 2015-04-05 2018-02-06 Qualcomm Incorporated Encoder selection
JP6422813B2 (ja) 2015-04-13 2018-11-14 日本電信電話株式会社 符号化装置、復号装置、これらの方法及びプログラム
US9978400B2 (en) 2015-06-11 2018-05-22 Zte Corporation Method and apparatus for frame loss concealment in transform domain
US9837089B2 (en) 2015-06-18 2017-12-05 Qualcomm Incorporated High-band signal generation
US10847170B2 (en) 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
KR20170000933A (ko) 2015-06-25 2017-01-04 한국전기연구원 시간 지연 추정을 이용한 풍력 터빈의 피치 제어 시스템
US9830921B2 (en) 2015-08-17 2017-11-28 Qualcomm Incorporated High-band target signal control
EP3343558A4 (en) 2015-09-04 2018-07-04 Samsung Electronics Co., Ltd. Signal processing methods and apparatuses for enhancing sound quality
US9978381B2 (en) 2016-02-12 2018-05-22 Qualcomm Incorporated Encoding of multiple audio signals
US10219147B2 (en) 2016-04-07 2019-02-26 Mediatek Inc. Enhanced codec control
US10283143B2 (en) 2016-04-08 2019-05-07 Friday Harbor Llc Estimating pitch of harmonic signals
CN107945809B (zh) 2017-05-02 2021-11-09 大连民族大学 一种复调音乐多音高估计方法

Also Published As

Publication number Publication date
EP4336502B1 (en) 2026-04-01
SG11202004287YA (en) 2020-06-29
CA3082282A1 (en) 2019-05-16
RU2020120251A3 (es) 2020-10-28
AR113482A1 (es) 2020-05-06
BR122020009462A2 (pt) 2020-11-10
CN111933160B (zh) 2024-02-13
KR102492558B1 (ko) 2023-01-30
JP7277065B2 (ja) 2023-05-18
CN111933159B (zh) 2024-04-09
EP4336503A3 (en) 2024-06-05
JP2021005086A (ja) 2021-01-14
WO2019091576A1 (en) 2019-05-16
MY208438A (en) 2025-05-08
ZA202004584B (en) 2022-07-27
MX2020004772A (es) 2020-08-13
JP2021502606A (ja) 2021-01-28
MY205311A (en) 2024-10-11
RU2769218C2 (ru) 2022-03-29
CN111933160A (zh) 2020-11-13
AU2018365309B2 (en) 2020-12-17
PL3707710T3 (pl) 2024-06-03
CA3082282C (en) 2023-03-07
RU2020120251A (ru) 2020-09-01
AU2020203075A1 (en) 2020-05-28
CA3148999C (en) 2024-04-16
RU2020119054A3 (es) 2021-12-14
US11380339B2 (en) 2022-07-05
EP4336503A2 (en) 2024-03-13
JP2020204771A (ja) 2020-12-24
MX2020004770A (es) 2020-08-13
RU2769255C2 (ru) 2022-03-29
MX2020004768A (es) 2020-08-20
CA3148999A1 (en) 2019-05-16
EP3707710B1 (en) 2024-01-24
WO2019092155A1 (en) 2019-05-16
US20200286494A1 (en) 2020-09-10
EP4336503C0 (en) 2025-08-13
AU2020203075B2 (en) 2020-12-17
EP3707710A1 (en) 2020-09-16
EP3707710C0 (en) 2024-01-24
AU2020203074B2 (en) 2020-12-03
EP4336502A3 (en) 2024-06-12
EP4336502A2 (en) 2024-03-13
US20200273472A1 (en) 2020-08-27
KR20200100053A (ko) 2020-08-25
CN111656443A (zh) 2020-09-11
CA3148963A1 (en) 2019-05-16
BR122020009464A2 (pt) 2020-11-10
ES2972210T3 (es) 2024-06-11
US11315583B2 (en) 2022-04-26
RU2020120256A (ru) 2020-09-01
AU2018365309A1 (en) 2020-05-28
CN111933159A (zh) 2020-11-13
SG11202004285TA (en) 2020-06-29
TW201923738A (zh) 2019-06-16
KR102492554B1 (ko) 2023-01-30
ZA202003441B (en) 2021-08-25
KR102492557B1 (ko) 2023-01-30
MY205309A (en) 2024-10-11
JP7104785B2 (ja) 2022-07-21
AU2020203074A1 (en) 2020-05-28
SG11202004279TA (en) 2020-06-29
RU2020119054A (ru) 2021-12-14
ZA202004583B (en) 2022-07-27
US11386909B2 (en) 2022-07-12
TWI758556B (zh) 2022-03-21
JP7104749B2 (ja) 2022-07-21
KR20200094752A (ko) 2020-08-07
RU2767286C2 (ru) 2022-03-17
KR20200096233A (ko) 2020-08-11
US20200273471A1 (en) 2020-08-27
CN111656443B (zh) 2023-09-15
RU2020120256A3 (es) 2020-10-28
EP4336503B1 (en) 2025-08-13
BR112020009325A2 (pt) 2020-10-27

Similar Documents

Publication Publication Date Title
ES3048658T3 (en) Audio encoders, methods and computer programs adapting an encoding of least significant bits
HK40030420B (en) Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
HK40030420A (en) Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits