ES2660392T3 - Codificación de coeficientes espectrales de un espectro de una señal de audio - Google Patents

Codificación de coeficientes espectrales de un espectro de una señal de audio Download PDF

Info

Publication number
ES2660392T3
ES2660392T3 ES14792420.3T ES14792420T ES2660392T3 ES 2660392 T3 ES2660392 T3 ES 2660392T3 ES 14792420 T ES14792420 T ES 14792420T ES 2660392 T3 ES2660392 T3 ES 2660392T3
Authority
ES
Spain
Prior art keywords
spectral
spectrum
decoder
coefficient
decoded
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
ES14792420.3T
Other languages
English (en)
Inventor
Guillaume Fuchs
Matthias Neusinger
Markus Multrus
Stefan Doehla
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 Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung 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 Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2660392T3 publication Critical patent/ES2660392T3/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/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • 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
    • 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

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

Decodificador (40) configurado para decodificar los coeficientes espectrales (14) de un espectro (12) de una señal de audio (18), perteneciendo los coeficientes espectrales al mismo instante de tiempo, estando el decodificador configurado para decodificar secuencialmente, desde frecuencia baja a alta, coeficientes espectrales y decodificar un coeficiente espectral (x) que va a ser decodificado actualmente por decodificación por entropía dependiendo, de una manera adaptativa según el contexto, en un coeficiente espectral previamente decodificado (o) de los coeficientes espectrales, con el ajuste de una distancia espectral relativa (28) entre el coeficiente espectral previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente dependiendo de una información sobre una forma del espectro.

Description

DESCRIPCIÓN
Codificación de coeficientes espectrales de un espectro de una señal de audio
5 [0001] La presente solicitud se refiere a un esquema de codificación para coeficientes espectrales de un
espectro de una señal de audio utilizable en, por ejemplo, diversos códecs de audio basados en transformada.
[0002] La codificación aritmética basada en el contexto es una manera eficiente de codificar los coeficientes espectrales sin ruido de un codificador basado en transformada [1]. El contexto explota la información mutua entre
10 un coeficiente espectral y los coeficientes ya codificados que están en sus proximidades. El contexto está disponible tanto en el lado del codificador como en el del decodificador y no necesita ninguna información adicional para transmitir. De esta manera, la codificación por entropía basada en el contexto tiene el potencial de proporcionar una mayor ganancia sobre la codificación por entropía sin memoria. Sin embargo, en la práctica, el diseño del contexto se ve seriamente limitado debido a, entre otros, los requisitos de memoria, la complejidad computacional y la 15 robustez para los errores de canal. Estas restricciones limitan la eficiencia de la codificación por entropía basada en el contexto y generan una ganancia de codificación más baja especialmente para señales tonales donde el contexto tiene que ser demasiado limitado para la explotación de la estructura armónica de la señal.
[0003] Por otra parte, en la codificación basada en transformada de audio con poco retardo, se utilizan 20 ventanas de baja superposición para disminuir el retardo algorítmico. Como consecuencia directa, la fuga en la
MDCT es importante para señales tonales y da lugar a un ruido de cuantificación más alto. Las señales tonales pueden ser manejadas por la combinación de la transformada con predicción en el dominio de frecuencia como se hace para MPEG2/4 AAC-[2] o con una predicción en el dominio del tiempo [3].
25 [0004] El documento US 2013/0117015 A1 describe con respecto a la codificación de entropía de los valores
espectrales de un espectro de MDCT, que un contexto para la decodificación/codificación de un valor espectral actual o tupla de valor espectral de un marco actual k se determina sobre la base de los valores espectrales anteriormente codificados que están en unas ciertas proximidades espectro-temporales del valor espectral actualmente decodificado/codificado (tupla de valor espectral). La plantilla se muestra como un área en forma de L 30 que incluye cuatro posiciones de valor espectral en las proximidades espectro-temporales inmediatas del valor espectral actualmente decodificado/codificado. La plantilla en forma de L comprende un valor espectral en el marco actual k, específicamente el que ha sido codificado inmediatamente antes del valor espectral actual, es decir, el valor espectral próximo espectral inmediato en la posición espectral más baja inmediata. La plantilla abarca, no obstante, también posiciones espectrales dentro del marco anterior k-1. Según el concepto presentado en el documento D1, la 35 escala de frecuencia de este marco anterior k-1 "se restringe" o "se amplía” con respecto a la escala de frecuencia de marcos k. La “restricción/ ampliación relativa” es un resultado de un túnel del tiempo individual de marco que es, de acuerdo con el documento D1, aplicado a las muestras de audio temporal de cada marco antes de someter el mismo a un MDCT con el fin de obtener el espectro de los valores espectrales de cada marco. La idea de este documento es rehacer un deslazamiento de las proximidades espectro-temporales correctas de esa porción de la 40 plantilla espectro-temporal para la determinación del contexto para el valor espectral actualmente decodificado/codificado que sobresale en el marco temporalmente anterior, siendo el desplazamiento un resultado de una diferencia en el túnel del tiempo aplicada sobre el marco actual por un lado y el marco anterior por otro lado.
[0005] El documento EP 2 650 878 A1 sugiere una reorganización de los coeficientes espectrales de un 45 espectro de audio de forma que se obtenga un espectro suave. Este espectro espectralmente “intercalado” o
“reorganizado” es sometido entonces a la codificación de entropía.
[0006] Sería favorable tener un concepto de codificación disponible que aumente la eficiencia de codificación. En consecuencia, es un objetivo de la presente invención proporcionar un concepto de codificación para los
50 coeficientes espectrales de un espectro de una señal de audio que aumente la eficiencia de codificación. Este objetivo se consigue por el objeto de estudio de las reivindicaciones independientes pendientes.
[0007] Es un hallazgo básico de la presente solicitud el hecho de que la eficacia de la codificación de la codificación de coeficientes espectrales de un espectro de una señal de audio puede ser aumentada por la
55 codificación/decodificación de un coeficiente espectral que se va a codificar/decodificar actualmente por codificación/decodificación por entropía y, al hacerlo, la realización de codificación/decodificación por entropía dependiendo, de una manera adaptativa al contexto, de un coeficiente espectral previamente codificado/decodificado, mientras se ajusta una distancia espectral relativa entre el coeficiente espectral previamente codificado/decodificado y el coeficiente espectral actualmente codificado/decodificado dependiendo de una
información relativa a una forma del espectro. La información relativa a la forma del espectro puede comprender una medida de un tono o periodicidad de la señal de audio, una medida de una distancia inter-armónica del espectro de la señal de audio y/o ubicaciones relativas de formantes y/o valles de una envolvente espectral del espectro, y sobre la base de este conocimiento, la zona espectral que es explotada con el fin de formar el contexto de los coeficientes 5 espectrales que se van a codificar/decodificar actualmente se pueden adaptar a la forma así determinada del espectro, mejorando así la eficiencia de la codificación por entropía.
[0008] Implementaciones ventajosas son objeto de las reivindicaciones dependientes y realizaciones
preferidas de la presente solicitud se describen en esta invención a continuación con respecto a las figuras, entre las 10 que
Fig. 1 muestra un diagrama esquemático que ilustra un codificador de coeficiente espectral y su modo de funcionamiento en la codificación de los coeficientes espectrales de un espectro de una señal de audio;
15 Fig. 2 muestra un diagrama esquemático que ilustra un decodificador de coeficiente espectral apropiado para el codificador de coeficiente espectral de la Fig. 1;
Fig. 3 muestra un diagrama de bloques de una posible estructura interna del codificador de coeficiente espectral de la Fig. 1 según una realización;
20
Fig. 4 muestra un diagrama de bloques de una posible estructura interna del decodificador de coeficiente espectral de la Fig. 2 según una realización;
Fig. 5 indica esquemáticamente un gráfico de un espectro, cuyos coeficientes han de ser codificados/decodificados 25 con el fin de ilustrar la adaptación de la distancia espectral relativa en función de una medida de un tono o periodicidad de la señal de audio o una medida de la distancia inter-armónica;
Fig. 6 muestra un diagrama esquemático que ilustra un espectro, cuyos coeficientes espectrales han de ser codificados/decodificados según una realización en la que el espectro está conformado espectralmente según un 30 filtro de síntesis ponderado perceptualmente basado en LP, es decir, el inverso del mismo, que ilustra la adaptación de la distancia espectral relativa en función de una medida de distancia inter-formante según una realización;
Fig. 7 ilustra esquemáticamente una porción del espectro con el fin de ilustrar la plantilla de contexto que rodea el coeficiente espectral que se va a codificar/decodificar actualmente y la adaptación de la propagación espectral de las 35 plantillas de contexto dependiendo de la información de la forma del espectro según una realización;
Fig. 8 muestra un diagrama esquemático que ilustra el mapeo de los uno o más valores de los coeficientes espectrales de referencia de la plantilla de contexto 81 utilizando una función escalar a fin de derivar la estimación de distribución de probabilidad que se utiliza para la codificación/ decodificación del coeficiente espectral corriente 40 según una realización;
Fig. 9a ilustra esquemáticamente el uso de la señalización implícita con el fin de sincronizar la adaptación de la distancia espectral relativa entre el codificador y el decodificador;
45 Fig. 9b muestra un diagrama esquemático que ilustra el uso de señalización explícita a fin de sincronizar la adaptación de la distancia espectral relativa entre el codificador y el decodificador;
Fig. 10a muestra un diagrama de bloques de un codificador de audio basado en transformada según una realización; Fig. 10b muestra un diagrama de bloques de un decodificador de audio basado en transformada ajustado al 50 codificador de la Fig. 10a;
Fig. 11a muestra un diagrama de bloques de un codificador de audio basado en transformada utilizando una conformación espectral de dominio de frecuencia según una realización;
55 Fig. 11b muestra un diagrama de bloques de un decodificador de audio basado en transformada ajustado al codificador de la Fig. 11 a;
Fig. 12a muestra un diagrama de bloques de un codificador de audio de excitación codificada transformada basado en predicción lineal según una realización;
Fig. 12b muestra un decodificador de audio de excitación codificada transformada basado en predicción lineal apropiado para el codificador de la Fig. 12a;
5 Fig. 13 muestra un diagrama de bloques de un codificador de audio basado en transformada según una realización adicional;
Fig. 14 muestra un diagrama de bloques de un decodificador de audio basado en transformada ajustado a la realización de la Fig. 13;
10 Fig. 15 muestra un diagrama esquemático que ilustra un contexto convencional o plantilla de contexto que abarca las proximidades de un coeficiente espectral que se va a codificar/decodificar actualmente;
Figs. 16a-16c muestran configuraciones de plantilla de contexto modificadas o un contexto mapeado de acuerdo con realizaciones de la presente solicitud;
15
Fig. 17 ilustra esquemáticamente un gráfico de un espectro armónico con el fin de ilustrar la ventaja de utilizar el contexto mapeado de cualquiera de las Figs. 16a a 16c sobre la definición de plantilla de contexto de la Fig. 15 para un espectro armónico;
20 Fig. 18 muestra un diagrama de flujo de un algoritmo para la optimización de la espectral distancia relativa D para el mapeo de contexto según una realización;
[0009] La Fig. 1 muestra un codificador de coeficiente espectral 10 según una realización. El codificador está configurado para codificar los coeficientes espectrales de un espectro de una señal de audio. La Fig. 1 ilustra
25 espectros secuenciales en la forma de un espectrograma 12. Para ser más precisos, los coeficientes espectrales 14 se ilustran como cajas espectro-temporalmente dispuestas a lo largo de un eje temporal t y un eje de frecuencia f. Aunque sería posible que la resolución espectro-temporal se mantuviera constante, la Fig. 1 ilustra que la resolución espectro-temporal puede variar en el tiempo con uno de tales instantes de tiempo ilustrados en la Fig. 1 en 16. Este espectrograma 12 puede ser el resultado de una transformada por descomposición espectral aplicada a la señal de 30 audio 18 en diferentes instantes de tiempo, tal como una transformada superpuesta tal como, por ejemplo, una transformada críticamente muestreada, tal como una MDCT o alguna otra transformada críticamente muestreada de valor real. En tanto que, el espectrograma 12 puede ser recibido por el coeficiente de codificador espectral 10 en forma de un espectro 20 que consiste en una secuencia de coeficientes de transformada cada uno perteneciente a un mismo instante de tiempo. Los espectros 20, por lo tanto representan porciones espectrales del espectrograma y 35 se ilustran en la Fig. 1 como columnas individuales del espectrograma 12. Cada espectro se compone de una secuencia de coeficientes de transformada 14 que se ha derivado de un marco de tiempo correspondiente 22 de señal de audio 18 utilizando, por ejemplo, alguna función de ventana 24. En particular, los marcos temporales 22 están dispuestos secuencialmente en los instantes de tiempo mencionados anteriormente y están asociados con la secuencia temporal de los espectros 20. Pueden, como se ilustra en la Fig. 1, superponerse unos a otros, así como 40 las ventanas transformadas correspondientes 24. Es decir, como se usa en esta invención, "espectro" denota coeficientes espectrales que pertenecen al mismo instante de tiempo y, por lo tanto, es una descomposición de frecuencia. "Espectrograma" es una descomposición de tiempo-frecuencia de los espectros de hecho consecutivo, donde "espectros" es el plural de espectro. A veces, sin embargo, "espectro" se utiliza como sinónimo de espectrograma. "Coeficiente de transformada" se usa como sinónimo de "coeficiente espectral", si la señal original 45 está en el dominio del tiempo y la transformada es una transformación de frecuencia.
[0010] Como se acaba de resumir, el codificador de coeficiente espectral 10 es para la codificación de los coeficientes espectrales 14 del espectrograma 12 de la señal de audio 18 y con este fin el codificador puede, por ejemplo, aplicar una orden de codificación/decodificación predeterminada que atraviesa, por ejemplo, los
50 coeficientes espectrales 14 a lo largo de un camino espectro-temporal que, por ejemplo, explora los coeficientes espectrales 14 espectralmente de baja a alta frecuencia dentro de un espectro 20 y, a continuación, procede con los coeficientes espectrales del espectro temporalmente sucesiva 20 como se indica en la Fig. 1 en 26.
[0011] En una manera descrita en más detalle a continuación, el codificador 10 está configurado para 55 codificar un coeficiente espectral actualmente para ser codificado, indicado utilizando una pequeña cruz en la Fig. 1,
mediante codificación por entropía dependiendo, de una manera adaptativa al contexto, de uno o más coeficientes espectrales previamente codificados, a modo de ejemplo indicados utilizando un pequeño círculo en la Fig. 1. En particular, el codificador 10 está configurado para ajustar una distancia espectral relativa entre el coeficiente espectral previamente codificado y el coeficiente espectral actualmente codificado en función de una información
relativa a una forma del espectro. En cuanto a la dependencia y la información relativa a la forma del espectro, los detalles se exponen a continuación junto con las consideraciones relativas a las ventajas que resultan de la adaptación de la distancia espectral relativa 28 dependiendo de la información que se acaba de mencionar.
5 [0012] En otras palabras, el codificador de coeficiente espectral 10 codifica los coeficientes espectrales 14
secuencialmente en un flujo de datos 30. Como se describe en más detalle a continuación, el codificador de coeficiente espectral 10 puede ser parte de un codificador basado en transformada que, además de los coeficientes espectrales 14, codifica en la corriente de datos 30 más información de modo que el flujo de datos 30 permite una reconstrucción de la señal de audio 18.
10
[0013] La Fig. 2 muestra un decodificador de coeficiente espectral 40 apropiado para el codificador de coeficiente espectral 10 de la Fig. 1. La funcionalidad del decodificador de coeficiente espectral 40 es sustancialmente un cambio del codificador de coeficiente espectral 10 de la Fig. 1: el decodificador de coeficiente espectral 40 decodifica los coeficientes espectrales 14 del espectro 12 utilizando, por ejemplo, el orden de
15 decodificación 26 secuencialmente. En la decodificación de un coeficiente espectral actualmente a decodificar a modo de ejemplo indicado por el uso de la pequeña cruz en la Fig. 2 por decodificación por entropía, el decodificador de coeficiente espectral 40 realiza la decodificación por entropía dependiendo, de una manera adaptativa al contexto, de uno o más coeficientes espectrales anteriormente decodificados también indicados por un pequeño círculo en la Fig. 2. Al hacerlo, el decodificador de coeficiente espectral 40 ajusta la distancia espectral relativa 28
20 entre el coeficiente espectral decodificado anteriormente y el coeficiente espectral que se va a decodificar actualmente en función de la información antes mencionada relativa a la forma del espectro 12. De la misma manera indicada anteriormente, el decodificador de coeficiente espectral 40 puede ser parte de un decodificador basado en transformada configurado para reconstruir la señal de audio 18 del flujo de datos 30, del cual el decodificador de coeficiente espectral 40 decodifica los coeficientes espectrales 14 utilizando la decodificación por entropía. Este
25 último decodificador basado en transformada puede, como una parte de la reconstrucción, someter el espectro 12 a una transformada inversa tal como, por ejemplo, una transformada inversa superpuesta, que por ejemplo, da como resultado una reconstrucción de la secuencia de la superposición de marcos de tiempo de ventana 22 que, por un proceso de solapamiento y adición elimina, por ejemplo, el solapamiento resultante de la transformada de descomposición espectral.
30
[0014] Como se describirá en más detalle a continuación, las ventajas resultantes de ajustar la distancia espectral relativa 28 dependiendo de la información relativa a la forma del espectro 12 se basa en la capacidad de mejorar la estimación de distribución de probabilidad utilizada para la codificación/decodificación por entropía del coeficiente espectral corriente x. Cuanto mejor sea la estimación de la distribución de probabilidad, más eficiente
35 será la codificación por entropía, es decir, más comprimida. La "estimación de distribución de probabilidad" es una estimación de la distribución de probabilidad real del coeficiente espectral corriente 14, es decir, una función que asigna una probabilidad a cada valor de un dominio de valores que el coeficiente espectral corriente 14 puede asumir. Debido a la dependencia de la adaptación de la distancia 28 sobre la forma del espectro 12, la estimación de distribución de probabilidad se puede determinar de modo que corresponda más estrechamente a la distribución de
40 probabilidad real, ya que la explotación de la información sobre la forma del espectro 12 permite derivar la estimación de distribución de probabilidad de una zona espectral de la corriente del coeficiente espectral x que permite una estimación más precisa de la distribución de probabilidad del coeficiente espectral corriente x. Los detalles en este sentido se presentan a continuación junto con ejemplos de la información sobre la forma del espectro12.
45
[0015] Antes de continuar con ejemplos específicos de la información antes mencionada de la forma del espectro 12, las Figs. 3 y 4 muestran las posibles estructuras internas del codificador de coeficiente espectral 10 y el decodificador de coeficiente espectral 40, respectivamente. En particular, como se muestra en la Fig. 3, el codificador de coeficiente espectral 10 puede estar compuesto de un derivador de estimación de distribución de
50 probabilidad 42 y un motor de codificación por entropía 44, en el que, del mismo modo, el decodificador de coeficiente espectral 40 puede estar compuesto de una distribución de probabilidad de estimación de derivador 52 y un motor de decodificación por entropía 54. Los derivadores de la estimación de distribución de probabilidad 42 y 52 operan de la misma manera: derivan, sobre la base del valor de los uno o más coeficientes espectrales previamente decodificados/codificados o, la estimación de distribución de probabilidad 56 para decodificación/codificación por
55 entropía del coeficiente espectral corriente x. En particular, el motor de decodificación/codificación por entropía 44/54 recibe la estimación de distribución de probabilidad del derivador 42/52, y realiza la codificación/decodificación por entropía en relación con el coeficiente espectral corriente x en consecuencia.
[0016] El motor de codificación/decodificación por entropía 44/54 puede utilizar, por ejemplo, codificación de
longitud variable, tal como codificación de Huffman para la codificación/decodificación del coeficiente espectral corriente x, y en este sentido, el motor 44/54 puede utilizar diferentes tablas VLC (codificación de longitud variable) para diferentes estimaciones de distribución de probabilidad 56. Alternativamente, el motor 44/54 puede utilizar la codificación/decodificación aritmética con respecto al coeficiente espectral corriente x con la estimación de 5 distribución de probabilidad 56 controlando la subdivisión de intervalos de probabilidad del intervalo de probabilidad corriente que representa el estado interno de los motores de codificación/decodificación aritmética 44/54, donde cada intervalo parcial está asignado a un valor diferente posible fuera de un rango objetivo de valores que puede asumirse por el coeficiente espectral corriente x. Como se describe en más detalle a continuación, el motor de codificación por entropía y el motor de decodificación por entropía 44 y 54 pueden utilizar un mecanismo de escape 10 con el fin de mapear el rango de valor total 14 del coeficiente espectral en un intervalo de valor entero limitado, es decir, el rango objetivo, tal como [0...2N-1]. El conjunto de valores enteros en el rango objetivo, es decir, {0,...,2N-1} define, junto con un símbolo de escape {esc}, el símbolo del alfabeto del motor de codificación/decodificación aritmética 44/54, es decir, {0,...,2N-1, esc }. Por ejemplo, el motor de codificación por entropía 44 somete el coeficiente espectral entrante x a una división por 2 tan a menudo como sea necesario, en su caso, con el fin de 15 llevar el coeficiente espectral x en el intervalo objetivo antes mencionado [0...2N-1] con, para cada división, la codificación del símbolo de salida en la corriente de datos 30, seguido por la codificación aritmética del resto de la división - o el valor espectral original en caso de que no sea necesaria ninguna división - en la corriente de datos 30. El motor de decodificación por entropía 54, a su vez, llevaría a cabo el mecanismo de escape de la siguiente manera: decodificaría un coeficiente de transformada corriente x del flujo de datos 30 como una secuencia de 0, 1 o 20 más símbolos de escape esc seguido por un símbolo de no escape, es decir, como una de las secuencias {a}, {esc, a} , {esc, esc, a}, ..., donde “a” denota el símbolo de no escape. El motor de decodificación por entropía 54, mediante la decodificación aritmética del símbolo de no escape, obtiene un valor de a dentro del intervalo objetivo de [0...2N-1], por ejemplo, y se derivaría del valor del coeficiente de x calculando el valor del coeficiente espectral corriente que es igual a a + 2 veces el número de los símbolos de escape.
25
[0017] Existen diferentes posibilidades con respecto a la utilización de la estimación de distribución de probabilidad 56 y el aparato de la misma en la secuencia de símbolos utilizada para representar el coeficiente espectral corriente x: la estimación de distribución de probabilidad puede, por ejemplo, aplicar sobre cualquier símbolo transmitido dentro de la corriente de datos 30 para el coeficiente espectral x, es decir, el símbolo de no
30 escape, así como cualquier símbolo de escape, en caso de haberlos. Alternativamente, la estimación de distribución de probabilidad 56 se utiliza simplemente para la primera o las primeras dos o la primera n<N de la secuencia de 0 o más símbolos de escape seguido por el símbolo de no escape utilizando, por ejemplo, alguna estimación de distribución de probabilidad predeterminada para cualquier secuencia subsiguiente de símbolos tales como una distribución de probabilidad igualitaria.
35
[0018] La Fig. 5 muestra un espectro ejemplar 20 del espectrograma 12. En particular, la magnitud de los coeficientes espectrales se representa gráficamente en la Fig. 5 en unidad arbitraria a lo largo del eje y, mientras que el eje horizontal x corresponde a la frecuencia en unidad arbitraria. Como ya se ha dicho, el espectro 20 de la Fig. 5 corresponde a una porción espectral sobre el espectrograma de la señal de audio en un determinado instante
40 de tiempo, donde el espectrograma 12 se compone de una secuencia de tales espectros 20. La Fig. 5 también ilustra la posición espectral de un coeficiente espectral corriente x.
[0019] Como se describe en más detalle más adelante, mientras que el espectro 20 puede ser un espectro no ponderado de la señal de audio, según las realizaciones descritas más adelante, por ejemplo, el espectro 20 ya se
45 pondera perceptualmente utilizando una función de transferencia que corresponde a la inversa de una función de filtro de síntesis perceptual. Sin embargo, la presente solicitud no está restringida al caso específico detallado a continuación.
[0020] En cualquier caso, la Fig. 5 muestra el espectro 20 con una cierta periodicidad a lo largo del eje de 50 frecuencia que se manifiesta en una disposición más o menos equidistante de máximos y mínimos locales en el
espectro a lo largo de la dirección de la frecuencia. Sólo con fines ilustrativos, la Fig. 5 muestra una medida 60 de un tono o periodicidad de la señal de audio tal como se define por la distancia espectral entre los máximos locales del espectro entre los que se coloca el coeficiente espectral corriente x. Naturalmente, la medida 60 puede ser definida y determinada de forma diferente, tal como un tono medio entre los máximos locales y/o mínimos locales o la distancia 55 de frecuencia equivalente al tiempo de retardo máximo medido en la función de auto-correlación de la señal de dominio de tiempo 18.
[0021] De acuerdo con una realización, la medida 60 es, o comprende, la información de la forma del espectro. El codificador 10 y decodificador 40 o, para ser más precisos, el derivador del estimador de la distribución
de probabilidad 42/52 podría, por ejemplo, ajustar la distancia espectral relativa entre el coeficiente espectral anterior o y el coeficiente espectral corriente x en función de esta medida 60. Por ejemplo, la distancia espectral relativa 28 podría variar en función de la medida 60 de tal manera que la distancia 28 aumenta con el aumento de la medida 60. Por ejemplo, podría ser favorable establecer la distancia 28 en una cantidad igual a la medida 60 o un número 5 entero múltiplo de la misma.
[0022] Como se describirá en más detalle a continuación, existen diferentes posibilidades en cuanto a cómo
se torna disponible la información sobre la forma del espectro 12 al decodificador. En general, esta información, tal como la medida 60, se puede señalar al decodificador explícitamente con sólo el codificador 10 o derivador del 10 estimador de la distribución de probabilidad 42 que realmente determina la información de la forma del espectro, o la determinación de la información de la forma del espectro se realiza en los lados del codificador y decodificador en paralelo con base en una porción previamente decodificada del espectro, o se puede deducir a partir de otra información ya escrita en la corriente de bits.
15 [0023] Utilizando un término diferente, la medida 60 también podría interpretarse como una "medida de la
distancia inter-armónica" dado que los máximos o pendientes locales mencionados con anterioridad en el espectro pueden formar armónicos entre sí.
[0024] La Fig. 6 proporciona otro ejemplo de una información sobre la forma del espectro sobre la base de
20 que la distancia espectral 28 puede ser ajustada - exclusivamente o junto con otra medida como la medida 60 como se describió anteriormente. En particular, la Fig. 6 ilustra el caso ejemplar donde el espectro 12 representado por los coeficientes espectrales codificados/decodificados por el codificador 10 y el decodificador 40, una porción espectral del cual se muestra en la Fig. 6, se pondera utilizando la inversa de una función de filtro de síntesis ponderada perceptualmente. Es decir, que el espectro de la señal de audio original y finalmente reconstruida se muestra en la 25 Fig. 6 en 62. La versión pre-enfatizada se muestra en 64 con una línea de puntos. La predicción lineal estimada envolvente espectral de la versión pre-enfatizada 64 se muestra con una línea de trazos y puntos 66 y la versión perceptualmente modificada de la misma, es decir, la función de transferencia de la función de filtro de síntesis perceptualmente motivado se muestra en la Fig. 6 en 68 mediante una línea de guión-punto-punto. El espectro 12 puede ser el resultado de la filtración de la versión pre-enfatizada del espectro de la señal de audio original 62 con la 30 inversa de la función de filtro de síntesis ponderada perceptualmente 68. En cualquier caso, tanto el codificador como el decodificador pueden tener acceso a la envolvente espectral 66 que, a su vez, puede tener formantes 70 o valles 72 más o menos pronunciados. De acuerdo con una realización alternativa de la presente solicitud, la información relativa a la forma del espectro es al menos parcialmente definida sobre la base de las ubicaciones relativas de estos formantes 70 y/o valles 72 del envolvente espectral 66 del espectro 12. Por ejemplo, la distancia 35 espectral 74 entre formantes 70 se puede utilizar para ajustar la distancia espectral relativa antes mencionada 28 entre el coeficiente espectral corriente x y el coeficiente espectral anterior o. Por ejemplo, la distancia 28 puede ser preferiblemente igual a, o ser un múltiplo entero de, la distancia 74, donde, sin embargo las alternativas también son factibles.
40 [0025] En lugar de una envolvente basada en LP como se ilustra en la Fig. 6, una envolvente espectral
también se puede definir de manera diferente. Por ejemplo, la envolvente puede ser definida y transmitida en el flujo de datos por medio de factores de escala. También se pueden utilizar otras formas de transmitir la envolvente.
[0026] Debido al ajuste de la distancia 28 de la manera indicada anteriormente con respecto a las Figs. 5 y 6,
45 el valor del coeficiente espectral de "referencia" o representa una pista sustancialmente mejor para estimar la estimación de la distribución de probabilidad para el coeficiente espectral corriente x en comparación con otros coeficientes espectrales que se encuentran, por ejemplo, espectralmente más cerca del coeficiente espectral corriente x. En este sentido, cabe señalar que el modelado por contexto es en la mayoría de los casos un compromiso entre la complejidad de codificación por entropía por un lado, y la eficiencia de codificación por el otro 50 lado. Por lo tanto, las realizaciones descritas hasta ahora sugieren una adaptación de la distancia espectral relativa 28 dependiendo de la información de la forma del espectro de modo que, por ejemplo, la distancia 28 aumenta con el aumento de la medida 60 y/o el aumento de la distancia inter-formante 74. Sin embargo, el número de coeficientes anteriores o sobre la base de los cuales se realiza la adaptación por contexto de la codificación/decodificación por entropía, puede ser constante, es decir, puede no aumentar. El número de coeficientes espectrales anteriores o, 55 sobre la base de los cuales se realiza la adaptación por contexto, puede ser, por ejemplo, constante independientemente de la variación de la información relativa a la forma del espectro. Esto significa que la adaptación de la distancia espectral relativa 28 en la forma descrita anteriormente conduce a una mejor o más eficiente codificación/decodificación por entropía sin aumentar significativamente los costes de realización del modelado por contexto. Simplemente, la adaptación de la distancia espectral 28 en sí aumenta el coste del
modelado por contexto.
[0027] Con el fin de ilustrar el problema que se acaba de mencionar con más detalle, se hace referencia a la
Fig. 7 que muestra una porción espectro-temporal del espectrograma 12, incluyendo la porción espectro-temporal el 5 coeficiente espectral corriente 14 que se va a codificar/decodificar. Además, la Fig. 7 ilustra una plantilla de cinco coeficientes espectrales previamente decodificados a modo de ejemplo o sobre cuya base se realiza el modelado por contexto para la codificación/decodificación por entropía del coeficiente espectral corriente x. La plantilla se coloca en la ubicación del coeficiente espectral corriente x e indica los coeficientes espectrales circundantes de referencia o. Dependiendo de la información antes mencionada de la forma del espectro, la propagación espectral 10 de las posiciones espectrales de estos coeficientes espectrales de referencia o está adaptada. Esto se ilustra en la Fig. 7 mediante el uso de una flecha de doble cabeza 80 y pequeños círculos tramados que ilustran a modo de ejemplo las posiciones de los coeficientes espectrales de referencia en el caso de, por ejemplo, la ampliación de la propagación espectral de posiciones espectrales de los coeficientes espectrales de referencia en función de la adaptación 80. Es decir, la Fig. 7 muestra que el número de coeficientes espectrales de referencia que contribuye al 15 modelado por contexto, es decir el número de coeficientes espectrales de referencia de la plantilla que rodea al coeficiente espectral corriente x y la identificación de los coeficientes espectrales o de referencia, se mantiene constante independientemente de cualquier variación de la información sobre la forma del espectro. Simplemente, la distancia espectral relativa entre estos coeficientes espectrales de referencia y el coeficiente espectral corriente está adaptado de acuerdo con 80, e inherentemente, la distancia espectral entre la referencia de coeficientes 20 propiamente dichos. Sin embargo, se observa que el número de coeficientes espectrales de referencia o no necesariamente se mantiene constante. De acuerdo con una forma de realización, el número de coeficientes espectrales de referencia podría aumentar al aumentar la distancia espectral relativa. Lo contrario, sin embargo, también puede ser factible.
25 [0028] Se indica que la Fig. 7 muestra el caso ejemplar donde el modelado por contexto para el coeficiente
espectral corriente x también implica coeficientes espectrales codificados/decodificados previamente correspondientes a un espectro/marco temporal anterior. Sin embargo, esto también debe entenderse meramente como un ejemplo y la dependencia de tales coeficientes espectrales previamente codificados/decodificados temporalmente anteriores se puede dejar fuera de acuerdo con una realización adicional. La Fig. 8 ilustra cómo el 30 derivador de estimación de distribución de probabilidad 42/52 puede, sobre la base de los uno o más coeficientes espectrales de referencia o, determinar la estimación de distribución de probabilidad para el coeficiente espectral corriente. Como se ilustra en la Fig. 8, los uno o más coeficientes espectrales de referencia o pueden estar sujetos a una función escalar 82. Sobre la base de la función escalar, por ejemplo, uno o más coeficientes espectrales de referencia o se proyecta sobre un índice que indexa la distribución de probabilidad de estimación que se utilizará 35 para el coeficiente espectral corriente x de un conjunto de estimaciones de distribución de probabilidad disponibles. Como ya se ha mencionado anteriormente, las estimaciones de distribución de probabilidad disponibles pueden, por ejemplo, corresponder a las diferentes subdivisiones de intervalos de probabilidad para el alfabeto de símbolos en el caso de codificación aritmética, o para diferentes tablas de codificación de longitud variable en el caso de utilizar una codificación de longitud variable.
40
[0029] Antes de proceder con la descripción de una posible integración del codificador/ decodificadores de
coeficiente espectral anteriormente descrito en codificadores/decodificadores basados en transformadas respectivos, varias posibilidades se discuten en esta invención a continuación en cuanto a cómo las realizaciones descritas hasta ahora se podrían variar. Por ejemplo, el mecanismo de escape descrito brevemente más arriba con respecto a la 45 Fig. 3 y la Fig. 4 se ha elegido sólo para fines de ilustración y puede ser dejado de conformidad con una realización alternativa. En la realización descrita a continuación, se utiliza el mecanismo de escape. Además, como quedará claro a partir de la descripción de realizaciones más específicas descritas a continuación, en lugar de la codificación/decodificación de los coeficientes espectrales de forma individual, el mismo puede codificarse/decodificarse en unidades de n-tuplas, es decir, en unidades n de coeficientes espectrales vecinas 50 espectralmente inmediatas. En ese caso, la determinación de la distancia espectral relativa también puede determinarse en unidades de dichas n-tuplas, o en unidades de coeficientes espectrales individuales. Con respecto a la función escalar 82 de la Fig. 8, se indica que la función escalar puede ser una función aritmética o una operación lógica. Por otra parte, las medidas especiales se pueden tomar para aquellos coeficientes escalares de referencia o que, por ejemplo, no están disponibles debido a que, por ejemplo, exceden el rango de frecuencias del 55 espectro o, por ejemplo, están en una porción del espectro muestreado por los coeficientes espectrales en una resolución espectro-temporal diferente de la resolución espectro-temporal donde el espectro se muestrea en el instante de tiempo correspondiente al coeficiente espectral corriente. Los valores de valores espectrales de referencia no disponibles o pueden sustituirse por los valores por defecto, por ejemplo, y a continuación introducirse en la función escalar 82 junto con los otros coeficientes espectrales de referencia (disponibles). Otra manera en que
podría funcionar la codificación/decodificación por entropía utilizando la adaptación espectral distancia descrita anteriormente es la siguiente: por ejemplo, el coeficiente espectral corriente podría estar sujeto a una binarización. Por ejemplo, el coeficiente espectral x podría ser mapeado en una secuencia de cestas que a continuación se codifican por entropía utilizando la adaptación de la adaptación de la distancia espectral relativa. Durante la 5 decodificación, las cestas se decodificarían por entropía secuencialmente hasta encontrarse una secuencia de cesta válida, que puede entonces reasignarse a los valores respectivos del coeficiente espectral corriente x.
[0030] Además, la adaptación por contexto dependiente de los uno o más coeficientes espectrales anteriores o podría implementarse de una manera diferente a la representada en la Fig. 8. En particular, la función escalar 82
10 podría utilizarse para indexar uno de un conjunto de contextos disponibles y cada contexto podría tener asociado una estimación de distribución de probabilidad. En ese caso, la estimación de distribución de probabilidad asociada con un cierto contexto podría adaptarse a las estadísticas de coeficientes espectrales reales cada vez que el coeficiente espectral actualmente codificado/decodificado x se haya asignado al contexto respectivo, es decir, utilizando el valor de este coeficiente espectral corriente x.
15
[0031] Finalmente, las Figs. 9a y 9b muestran diferentes posibilidades en cuanto a la forma en que la derivación de la información relativa a la forma del espectro puede ser sincronizada entre codificador y decodificador. La Fig. 9a muestra la posibilidad según la cual la señalización implícita se utiliza con el fin de sincronizar la derivación de la información relativa a la forma del espectro de entre codificador y decodificador. Aquí,
20 tanto en el lado de codificación como en el de decodificación, la derivación de la información se realiza basándose en una porción previamente codificada o porción previamente decodificada de la corriente de bits 30, respectivamente, indicándose la derivación en el lado de la codificación mediante el signo de referencia 83 e indicándose la derivación en el lado de la decodificación utilizando el signo de referencia 84. Ambas derivaciones pueden llevarse a cabo, por ejemplo, mediante los propios derivadores 42 y 52.
25
[0032] La Fig. 9b ilustra una posibilidad de acuerdo con la que la señalización explícita se utiliza con el fin de transmitir la información relativa a la forma del espectro del codificador al decodificador. La derivación 83 en el lado de codificación puede incluso incluir un análisis de la señal de audio original, incluyendo algunos de sus componentes, debido a la pérdida, no disponible en el lado de decodificación de codificación. Más bien, la
30 señalización explícita dentro del flujo de datos 30 se utiliza para hacer disponible la información relativa a la forma del espectro en el lado de decodificación. En otras palabras, la derivación 84 en el lado de decodificación utiliza la señalización explícita dentro de flujo de datos 30 para obtener acceso a la información relativa a la forma del espectro. La señalización explícita 30 puede implicar codificación diferencial. Como se describe en más detalle a continuación, por ejemplo, el parámetro de retardo LTP (predicción a largo plazo) ya disponible en la corriente de
35 datos 30 para otros propósitos puede utilizarse como la información relativa a la forma del espectro. Alternativamente, sin embargo, la señalización explícita de la Fig. 9b puede diferencialmente codificar la medida 60 en relación a, es decir, diferencialmente al, parámetro de retardo LTP ya disponible. Existen muchas otras posibilidades a fin de hacer disponible la información relativa a la forma del espectro para el lado de decodificación. Además de las realizaciones alternativas expuestas anteriormente, se indica que la codificación/decodificación de
40 los coeficientes espectrales puede, además de la codificación/decodificación por entropía, implicar la predicción espectral y/o temporal del coeficiente espectral que se va a codificar/decodificar actualmente. La predicción residual puede entonces estar sujeta a la codificación/decodificación por entropía como se ha descrito anteriormente.
[0033] Después de haber descrito diversas realizaciones para el codificador y el decodificador coeficiente
45 espectral, a continuación se describen algunas realizaciones referentes a cómo los mismos pueden construirse
ventajosamente en un codificador/decodificador basado en transformada.
[0034] La Fig. 10a, por ejemplo, muestra un codificador de audio basado en transformada de acuerdo con una realización de la presente solicitud. El codificador de audio basado en transformada de la Fig. 10a se indica
50 generalmente mediante el signo de referencia 100 y comprende un ordenador de espectro 102 seguido por el codificador de coeficiente espectral 10 de la Fig. 1. El ordenador de espectro 102 recibe la señal de audio 18 y calcula sobre la base de la misma el espectro 12, cuyos coeficientes espectrales son codificados por el codificador de coeficiente espectral 10 como se describe anteriormente en la corriente de datos 30. La Fig. 10b muestra la construcción del decodificador correspondiente 104: el decodificador 104 comprende una concatenación de un
55 decodificador de coeficiente espectral 40 formado como se describe anteriormente, y en el caso de las Figs. 10a y 10b, el ordenador de espectro 102 puede, por ejemplo, simplemente realizar una transformada superpuesta en un espectro 20 con un espectro al ordenador del dominio del tiempo 106 correspondientemente realizando la acción inversa. El codificador de coeficiente espectral 10 puede estar configurado para codificar sin pérdida el espectro de entrada 20. En comparación, el ordenador de espectro 102 puede introducir pérdida en codificación debido a la
cuantificación.
[0035] Con el fin de conformar espectralmente el ruido de cuantificación, el ordenador de espectro 102 puede realizarse como se muestra en la Fig. 11a. Aquí, el espectro 12 se conforma espectralmente utilizando factores de
5 escala. En particular, de acuerdo con la Fig. 11a, el ordenador de espectro 102 comprende una concatenación de un transformador 108 y un conformador espectral 110 entre los cuales el transformador 108 somete la señal de audio de entrada 18 a una transformada de descomposición espectral con el fin de obtener un espectro sin forma 112 de la señal de audio 18, donde el conformador espectral 110 conforma espectralmente este espectro no formado 112 utilizando factores de escala 114 obtenidos de un determinador de factores de escala 116 de un ordenador de 10 espectro 102 con el fin de obtener un espectro 12 que finalmente es codificado por el codificador de coeficiente espectral 10. Por ejemplo, el conformador espectral 110 obtiene un factor de escala 114 por banda de factor de escala del determinador del factor de escala 116 y divide cada coeficiente espectral de la banda de factor de escala respectiva por el factor de escala asociado con la banda de factor de escala correspondiente para recibir el espectro 12. El determinador de factor de escala 116 puede ser impulsado por un modelo perceptual para determinar los 15 factores de escala sobre la base de la señal de audio 18. Alternativamente, el determinador del factor de escala 116 puede determinar los factores de escala con base en un análisis de predicción lineal de tal modo que los factores de escala representan una función de transferencia en función de un filtro de síntesis de predicción lineal definido por la información de coeficientes de predicción lineal. La información de coeficientes de predicción lineal 118 está codificada en la corriente de datos 30 junto con los coeficientes espectrales de espectro 20 por el codificador 10. Por 20 propósitos de exhaustividad, la Fig. 11a muestra un cuantificador 120 situado corriente abajo del conformador espectral 110 con el fin de obtener el espectro 12 con coeficientes espectrales cuantificados que después son codificados sin pérdidas por el codificador coeficiente espectral 10.
[0036] La Fig. 11b muestra un decodificador correspondiente al codificador de la Fig. 10a. Aquí, el espectro al 25 ordenador del dominio del tiempo 106 comprende un determinador del factor de escala 122 que reconstruye los
factores de escala 114 sobre la base de la información de coeficientes de predicción lineal 118 contenido en la corriente de datos 30 de tal manera que los factores de escala representan una función de transferencia en función de un filtro de síntesis de predicción lineal definido por la información de coeficientes de predicción lineal 118. El conformador espectral conforma espectralmente un espectro 12 decodificado por el decodificador 40 de flujo de 30 datos 30 de acuerdo con factores de escala 114, es decir el conformador espectral 124 aumenta los factores de escala dentro de cada banda espectral, utilizando el factor de escala de la banda de factor de escala correspondiente. Así, en la salida del conformador espectral 124, se genera una reconstrucción del espectro no formado 112 de la señal de audio 18 resultados y, como se ilustra en la Fig. 11b por líneas de trazos, la aplicación de una transformada inversa en el espectro de 112 mediante un transformador inverso 126 a fin de reconstruir la 35 señal de audio 18 en el dominio del tiempo es opcional.
[0037] La Fig. 12a muestra una realización más detallada del codificador de audio basado en transformada de la Fig. 11a en el caso de la utilización de conformación del espectro lineal basado en predicción. Además de los componentes mostrados en la Fig. 11a, el codificador de la Fig. 12a comprende un filtro de pre-énfasis 128
40 configurado para someter inicialmente la señal de audio de entrada 18 a un filtrado de pre-énfasis. El filtro de preénfasis 128 puede, por ejemplo, implementarse como un filtro FIR. La función de transferencia 128 del filtro de preénfasis puede, por ejemplo, representar una función de transferencia de paso alto. De acuerdo con una realización, el filtro de pre-énfasis 128 está configurado como un filtro de paso alto orden n-ésimo, tal como, por ejemplo, un filtro de paso alto de un orden que tiene la función de transferencia H(z) = 1 - az_1 donde a se ajusta, por ejemplo, en 45 0,68. En consecuencia, en la salida del filtro de pre-énfasis 128, se genera una versión pre-enfatizada 130 de la señal de audio 18. Además, la Fig. 12a muestra el determinador del factor de escala 116 como compuesto por un analizador LP (predicción lineal) 132 y un convertidor de coeficiente de predicción lineal a factor de escala 134. La información del coeficiente de predicción lineal 118 del ordenador del analizador LPC 132 sobre la base de la versión pre-enfatizada de la señal de audio 18. Por lo tanto, los coeficientes de predicción lineal de información 118 50 representan una envolvente espectral basada en predicción lineal de la señal de audio 18 o, para ser más precisos, su versión pre-enfatizada 130. El modo de operación del analizador LP 132 puede, por ejemplo, implicar generar ventanas de la señal de entrada 130 a fin de obtener una secuencia de porciones encerradas en ventanas de señal 130 para ser analizada por LP, una determinación de autocorrelación para determinar la autocorrelación de cada porción encerrada en ventana y la generación de ventanas de retardo, que es opcional, para aplicar una función de 55 ventanas de retardo a las autocorrelaciones. La estimación del parámetro de predicción lineal puede entonces llevarse a cabo en las autocorrelaciones o la salida de la ventana de retardo, es decir, funciones de autocorrelación encerradas en ventanas. La estimación de parámetros de predicción lineal puede, por ejemplo, implicar la realización de un Wiener-Levinson-Durbin u otro algoritmo adecuado en las autocorrelaciones (encerradas en ventanas con retardo) para derivar los coeficientes de predicción lineal por autocorrelación, es decir, por porción
encerrada en ventanas de la señal 130. Esto significa que, en la salida del analizador LP 132, se generan coeficientes de LPC 118. El analizador LP 132 puede estar configurado para cuantificar los coeficientes de predicción lineal para su inserción en el flujo de datos 30. La cuantificación de los coeficientes de predicción lineal se puede realizar en otro dominio distinto del dominio de coeficientes de predicción lineal, tal como, por ejemplo, en una 5 línea espectral par o la línea de dominio de la frecuencia espectral. Sin embargo, también se pueden utilizar otros algoritmos más allá del algoritmo de Wiener-Levinson-Durbin.
[0038] El convertidor del coeficiente de predicción lineal a escala de factor 134 convierte los coeficientes de predicción lineal en factores de escala 114. El convertidor 134 puede determinar los factores de escala 140 de
10 manera que corresponda a la inversa del filtro de síntesis de predicción lineal 1/A(z) tal como se define por la información del coeficiente de predicción lineal 118. Alternativamente, el convertidor 134 determina el factor de escala para seguir una modificación perceptualmente motivada de este filtro de síntesis de predicción lineal, tal como, por ejemplo, 1/A(yz) donde y = 0,92 ± 10%, por ejemplo. La modificación perceptualmente motivada del filtro de síntesis de predicción lineal, es decir, 1 / A (yz) puede denominarse "modelo perceptual".
15
[0039] Con fines de ilustración, la Fig. 12a muestra otro elemento que es, sin embargo, opcional para la realización de la Fig. 12a. Este elemento es un filtro LTP (predicción a largo plazo) 136 situado corriente arriba del transformador 108 para someter la señal de audio a la predicción a largo plazo. Preferiblemente, el analizador LP 132 funciona con la versión filtrada de predicción no a largo plazo. En otras palabras, el filtro LTP 136 lleva a cabo
20 una predicción LTP en la señal de audio 18 o en la versión pre-enfatizada de la misma 130, y da salida a la versión residual de LTP 138 de tal manera que el transformador 108 realiza la transformada sobre la señal residual preenfatizada y predicha por LTP 138. El filtro LTP puede, por ejemplo, implementarse como un filtro FIR y el filtro LTP 136 puede controlarse por parámetros LTP que incluyen, por ejemplo, una ganancia de predicción LTP y un retardo LTP. Ambos parámetros LTP 140 se codifican en el flujo de datos 30. La ganancia LTP representa, como se 25 describe en más detalle a continuación, un ejemplo para una medida 60, ya que indica un tono o periodicidad que, sin filtrado por LTP, se manifiesta completamente en el espectro 12 y, utilizando el filtrado LTP, se produce en el espectro 12 en una intensidad gradualmente disminuida con un grado de reducción en función del parámetro de ganancia LTP que controla la fuerza del filtrado LTP por el filtro LTP 136.
30 [0040] La Fig. 12b muestra, con fines de exhaustividad, un decodificador apropiado para el codificador de la
Fig. 12a. Además de los componentes de la Fig. 11b y el hecho de que el determinador de factor de escala 122 está configurado como un convertidor de LPC a factor de escala 142, el decodificador de la Fig. 12b comprende un transformador inverso corriente abajo 126, una etapa de adición por superposición 144 sometiendo la transformada inversa en la salida por el transformador inverso 126 a un proceso de adición por superposición, obteniendo de esta 35 manera una reconstrucción de la versión pre-enfatizada y filtrada por LTP 138 que se somete a post-filtración por LTP donde la función de transferencia del post-filtro LTP 146 corresponde a la inversa de la función de transferencia del filtro LTP 136. El post-filtro LTP 146 puede, por ejemplo, implementarse en forma de un filtro IIR. Secuencialmente al post-filtro LTP 146, en la Fig. 12b corriente abajo a modo de ejemplo, el decodificador de la Fig. 12b comprende un filtro de des-énfasis 148 que realiza un filtrado de des-énfasis sobre la señal de dominio de 40 tiempo utilizando una función de transferencia que corresponde a la inversa de la función de transferencia del filtro 128 de pre-énfasis. El filtro de de-énfasis 148 también puede realizarse en la forma de un filtro IIR. La señal de audio 18 da lugar a la salida del filtro de énfasis 148.
[0041] En otras palabras, las realizaciones descritas anteriormente proporcionan una posibilidad para la
45 codificación de señales tonales y dominio de la frecuencia mediante la adaptación del diseño de un contexto codificador por entropía tal como un contexto codificador aritmético a la forma de los espectros de la señal tal como la periodicidad de la señal. Francamente, Las realizaciones descritas anteriormente extienden el contexto más allá de la noción de lo circundante y proponen un diseño de contexto adaptativo basado en la forma del espectro de señales de audio, tal como en base a información de tono. Tal información de tono puede ser transmitida al 50 decodificador adicional o puede estar ya disponible a partir de otros módulos de codificación, tales como la ganancia LTP mencionada anteriormente. El contexto se mapea a continuación, a fin de señalar los coeficientes ya codificados que están relacionados con el coeficiente de código corriente por un múltiplo de distancia o proporcional a la frecuencia fundamental de la señal de entrada.
55 [0042] Cabe señalar que el concepto de pre/postfiltro LTP utilizado de acuerdo con la Fig. 12 y 12b puede ser
sustituido por un concepto de postfiltro armónico de acuerdo con el que un postfiltro armónico en el decodificador se controla mediante parámetros LTP que incluyen un tono (o retardo por tono) enviado desde el codificador al decodificador a través de una corriente de datos 30. Los parámetros LTP pueden utilizarse como una referencia para transmitir diferencialmente la información mencionada relativa a la forma del espectro al decodificador utilizando
señalización explícita.
[0043] Mediante la realización descrita anteriormente, se puede excluir una predicción para señales tonales, de ese modo, por ejemplo, evitando la introducción de dependencias entre marcos no deseadas. Por otra parte, el
5 concepto anterior de la codificación/decodificación de coeficientes espectrales también se puede combinar con cualquier técnica de predicción ya que los residuales de predicción todavía muestran algunas estructuras armónicas.
[0044] En otras palabras, las realizaciones descritas anteriormente se ilustran de nuevo con respecto a las siguientes figuras, entre las que la Fig. 13 muestra un diagrama de bloques general de un proceso de codificación
10 utilizando el concepto de adaptación de distancia espectral descrito anteriormente. Con el fin de facilitar la concordancia entre la siguiente descripción y la descripción presentada hasta ahora, los signos de referencia son parcialmente reutilizados.
[0045] La señal de entrada 18 se transmite primero a la formación/predicción de ruido en el módulo TD (TD = 15 dominio del tiempo) 200. El módulo 200 abarca, por ejemplo, uno o ambos de los elementos 128 y 136 de la Fig.
12a. Este módulo 200 se puede omitir o se puede realizar una predicción a corto plazo mediante el uso de una codificación LPC, y/o - como se ilustra en la Fig. 12a - una predicción a largo plazo. Cada tipo de predicción se puede prever. Si uno de los procesamientos de dominio de tiempo explota y transmite una información de tono, como se ha descrito brevemente más arriba por medio de la salida del parámetro de retardo LTP por filtrado LTP 20 136, tal información puede ser transmitida a continuación al módulo codificador aritmético basado en contexto por propósitos de mapeo de contexto en base a tono.
[0046] A continuación, la señal de dominio de tiempo residual y conformada 202 es transformada por el transformador 108 en el dominio de frecuencia con la ayuda de una transformada de frecuencia de tiempo. Pueden
25 utilizarse una DFT o una MDCT. La longitud de la transformada puede ser adaptable y para bajo retardo se utilizarán regiones de baja superposición con las ventanas de transformada anteriores y siguientes (cp. 24). En el resto del documento se utilizará una MDCT como un ejemplo ilustrativo.
[0047] La señal transformada 112 se conforma a continuación en el dominio de frecuencia por el módulo 204, 30 que se implementa de este modo, por ejemplo, utilizando el determinador del factor de escala 116 y el conformador
espectral 110 Se puede llevar a cabo por la respuesta de frecuencia de coeficientes LPC y por factores de escala impulsados por un modelo psico-acústico. También es posible aplicar una conformación con ruido de tiempo (TNS) o una predicción de dominio de frecuencia que explota y transmite una información de tono. En tal caso, la información de tono puede ser transmitida al módulo codificador aritmético basado en el contexto en vista de la asignación de 35 contexto basado en tono. Esta última posibilidad puede aplicarse también a las realizaciones anteriores de las Figs. 10a a 12b, respectivamente.
[0048] A continuación, se cuantifican los coeficientes espectrales de salida en la etapa de cuantificación 120 antes de codificarse sin ruido por un codificador por entropía basado en el contexto 10. Como se ha descrito
40 anteriormente, este último módulo 10 utiliza, por ejemplo, una estimación de tono de la señal de entrada como la información relativa del espectro de la señal de audio. Tal información puede heredarse de uno del módulo de conformación/predicción de ruido 200 ó 204 que se ha realizado de antemano ya sea en el dominio del tiempo o en el dominio de la frecuencia. Si la información no está disponible, se puede realizar una estimación de tono dedicada en la señal de entrada tal como por un módulo de estimación de tono 206 que envía a continuación la información de 45 tono a la corriente de bits 30.
[0049] La Fig. 14 muestra un diagrama de bloques general del proceso de decodificación apropiado para la Fig. 13. Se compone de los procesamientos inversos descritos en la Fig. 13. La información de tono - que se utiliza en el caso de las Figs. 13 y 14 como un ejemplo de la información de la forma del espectro - es decodificada primero
50 y transmitida al decodificador aritmético 40. Si es necesario, la información se transmite además a los otros módulos que requieren esta información.
[0050] En particular, además del decodificador de información de tono 208 que decodifica la información de tono de la corriente de datos 30 y es por tanto responsable del proceso de derivación 84 en la Fig. 9b, el
55 decodificador de la Fig. 14 comprende, con posterioridad al decodificador basado en contexto 40, y en el orden de su mención, un des-cuantificador 210, una conformación/predicción de ruido inverso en módulo fD (dominio de la frecuencia) 212, un transformador inverso 214 y una conformación/predicción de ruido inverso en módulo TD 216, todos los cuales están conectados en serie entre sí a fin de reconstruir a partir del espectro 12 cuyos coeficientes espectrales son decodificados por el decodificador 40 de la corriente de bits 30, la señal de audio 18 en el dominio
del tiempo. En el mapeo de los elementos de la Fig. 14 en los que se muestran, por ejemplo, en la Fig. 12b, el transformador inverso 214 abarca el transformador inverso 126 y la etapa de adición por superposición 144 de la Fig. 12b. Además, la Fig. 14 ilustra que la des-cuantificación se puede aplicar sobre la salida de coeficientes espectrales decodificados por el codificador 40 utilizando, por ejemplo, una función de paso de cuantificación igual 5 para todas las líneas espectrales. Además, la Fig. 14 ilustra que el módulo 212, tal como un módulo de TNS (conformación de ruido temporal), puede estar situado entre el conformador espectral 124 y 126. La conformación/predicción de ruido inverso en el módulo de dominio del tiempo 216 abarca elementos 146 y/o 148 de la Fig. 12b.
10 [0051] Con el fin de motivar las ventajas proporcionadas por las realizaciones de la presente solicitud, de
nuevo, la Fig. 15 muestra un contexto convencional para la codificación por entropía de los coeficientes espectrales. El contexto abarca un área límite de las proximidades pasadas de los actuales coeficientes al código. Es decir, la Fig. 15 muestra un ejemplo para la codificación de coeficientes espectrales utilizando la adaptación por contexto en su estado actual, por ejemplo, utilizada en MPEG USAC. La Fig. 15 ilustra por lo tanto los coeficientes espectrales 15 de una manera similar a las Figs. 1 y 2, sin embargo con la agrupación de coeficientes espectrales circundantes espectrales, o la partición de ellos, en grupos, llamados n-tuplas de coeficientes espectrales individuales. Con el fin de distinguir tales n-tuplas de los coeficientes espectrales individuales, sin embargo manteniendo la consistencia con la descripción presentada anteriormente, estas n-tuplas se indican utilizando el signo de referencia 14'. La Fig. 15 distingue entre n-tuplas ya codificadas/decodificadas, por una parte y n-tuplas no decodificadas/codificadas 20 representando la forma de unas utilizando contornos rectangulares, y las otras utilizando contornos circulares. Además, la n-tupla 14' que se va a decodificar/codificar actualmente se representa mediante sombras y un contorno circular, mientras que las n-tuplas codificadas/decodificadas 14' localizadas por una plantilla circundante fija posicionada en la n-tupla que se va a procesar actualmente también se indican utilizando sombras, sin embargo que tienen un contorno rectangular. Así, de acuerdo con el ejemplo de la Fig. 15, la plantilla de contexto circundante 25 identificó seis n-tuplas 14' en los vecinos de la n-tupla que se va a procesar actualmente, es decir, la n-tupla en el mismo instante de tiempo, pero inmediatamente circundante, línea espectral inferior, a saber, c0, de uno en la misma línea espectral, pero en un instante de tiempo inmediatamente anterior, a saber, c1, la n-tupla en los vecinos inmediatos, línea espectral más alta en el instante de tiempo inmediato anterior, a saber, C2 y así sucesivamente. Es decir, la plantilla de contexto utilizada de acuerdo con la Fig. 15 identifica n-tuplas 14' de referencia a distancias 30 relativas fijas a la n-tupla que va a ser procesada actualmente, es decir, las proximidades inmediatas. De acuerdo con la Fig. 15, los coeficientes espectrales son considerados ejemplarmente en bloques de n, denominados n-tuplas. La combinación de valores n consecutivos permite explotar las dependencias entre coeficientes. Las dimensiones más altas aumentan exponencialmente el tamaño del alfabeto de n-tupla que se va a codificar y, por lo tanto, el tamaño del libro de códigos. Una dimensión de n = 2 se utiliza a modo de ejemplo durante el resto de la descripción 35 y representa un compromiso entre la ganancia de codificación y el tamaño del libro de códigos. En todas las realizaciones, la codificación considera, por ejemplo, la señal por separado. Además, los 2 bits más significativos y los bits menos significativos restantes de cada coeficiente se pueden tratar por separado, también. La adaptación por contexto se puede aplicar, por ejemplo, sólo para los 2 bits más significativos (MSB) de los valores espectrales sin signo. Puede asumirse que el signo y los bits menos significativos se distribuyen de manera uniforme. Junto con 40 las 16 combinaciones de los MSB de una 2-tupla, un símbolo de escape, ESC, se añade en el alfabeto para indicar que un LSB adicional debe esperarse por el decodificador. Se transmiten tantos símbolos ESC como LSB adicionales. En total, 17 símbolos forman el alfabeto del código. La presente invención no se limita a la forma descrita anteriormente para generar los símbolos.
45 [0052] Transferir los últimos detalles específicos en la descripción de las Figs. 3 y 4 significa lo siguiente: el
símbolo del alfabeto del motor de codificación/decodificación por entropía 44 y 54 puede abarcar los valores {0, 1, 2, 3}, más un símbolo de escape, y el coeficiente espectral de entrada que se va a codificar se divide 4 si excede 3 tan a menudo como sea necesario con el fin de ser menor que 4 con la codificación de un símbolo de escape por división. Por lo tanto, 0 o más símbolos de escape seguido por el símbolo real de no-escape se codifican para cada 50 coeficiente espectral, sólo siendo los dos primeros de estos símbolos, por ejemplo, codificados utilizando la adaptabilidad por contexto como se describe con anterioridad en esta invención. La transferencia de esta idea a 2- tuplas, es decir, pares de coeficientes vecinos espectralmente inmediatos, el alfabeto de símbolos puede comprender 16 pares de valores para esta 2-tupla, a saber, {(0, 0), (0, 1), (1, 0), ..., (1, 1)}, y el símbolo de escape esc (donde esc es una abreviatura para el símbolo de escape), es decir, un total de 17 símbolos. Cada n-tupla de 55 coeficiente espectral de entrada que comprende al menos un coeficiente superior a 3 está sujeto a división por 4 aplicada a cada coeficiente de la 2-tupla respectiva. En el lado de la decodificación, el número de los símbolos de escape por 4, de haberlo, se añade al valor restante obtenido a partir del símbolo de no escape.
[0053] La Fig. 16 muestra la configuración de un mapeo de contexto mapeado resultante de la modificación
del concepto de la Fig. 15 de acuerdo con el concepto descrito anteriormente de acuerdo con el que la distancia espectral relativa 28 de coeficientes espectrales de referencia está adaptada en forma dependiente de la información de la forma del espectro, tal como, por ejemplo, teniendo en cuenta la información de periodicidad o tono de la señal. En particular, las Figs. 16a a 16c muestran que la distancia D, que corresponde a la distancia espectral relativa 5 mencionada con anterioridad 28, dentro del contexto puede estimarse aproximadamente en D0 dado por la siguiente fórmula:
DO
imagen1
10 aquí, es la frecuencia de muestreo, N el tamaño de TCMD y L el período de retardo en las muestras. En el ejemplo de la Fig. 16 a, el contexto apunta a las n-tuplas distantes a la n-tupla corriente que se va a codificar por un múltiplo de D. La Fig. 16b combina el contexto vecino convencional con un contexto relacionado armónico. Finalmente, la Fig. 16c muestra un ejemplo de un contexto mapeado intra-marcos sin dependencias con marcos anteriores. Es decir, la Fig. 16a ilustra que, además de las posibilidades establecidas más arriba con respecto a la 15 Fig. 7, la adaptación de la distancia espectral relativa en función de la información de la forma del espectro se puede aplicar a todos de un número fijo de coeficientes espectrales de referencia pertenecientes a la plantilla de contexto. La Fig. 16b muestra que, de acuerdo con un ejemplo diferente, sólo un subconjunto de estos coeficientes espectrales de referencia está sujeto al desplazamiento de acuerdo con la adaptabilidad 80, tal como, por ejemplo, sólo los más exteriores espectralmente en el lado de baja frecuencia de la plantilla de contexto, aquí C3 y C5. Los 20 coeficientes espectrales de referencia restantes, aquí C0 a C4, se pueden situar en posiciones fijas en relación con el coeficiente espectral procesado actualmente, a saber, en posiciones inmediatamente adyacentes espectro- temporales relativas al coeficiente espectral que va a ser procesado actualmente. Finalmente, la Fig. 16c muestra la posibilidad de que simplemente coeficientes espectrales codificados previamente se utilicen como coeficientes de referencia de la plantilla de contexto, que están situados en el mismo instante de tiempo que el coeficiente espectral 25 que va a ser procesado actualmente.
[0054] La Fig. 17 da una ilustración de cómo el contexto mapeado de las Figs. 16a-16c puede ser más eficiente que el contexto convencional de acuerdo con la Fig. 15 que falla al predecir un tono de un espectro altamente armónico X (cp. 20).
30
[0055] Posteriormente, se describirá en detalle un posible mecanismo de mapeo de contexto e implementaciones representativas reales para estimar y codificar de manera eficiente la distancia D.
[0056] Con fines ilustrativos, se utilizará en las siguientes secciones un contexto mapeado intra-marco de 35 acuerdo con la Fig. 16c.
Primera realización: codificación y mapeo de 2-tupla
[0057] En primer lugar, se busca la distancia óptima de manera de reducir como máximo el número de bits 40 necesarios para codificar el espectro cuantificado corriente x[] de tamaño N. Una distancia inicial puede ser estimada
por la función D0 del período de retardo L hallado en la estimación de tono realizada previamente. El rango de búsqueda puede ser como sigue:
45
DO - ¿< D < DO + A
[0058] Alternativamente, el rango puede ser modificado por consideración de un múltiplo de D0. El rango
extendido se convierte en:
50
55
f.DO Ac D < M.D0 +A: M e
imagen2
imagen3
donde M es un coeficiente multiplicativo que pertenece a un conjunto finito F. Por ejemplo, M puede obtener los valores 0,5, 1 y 2, para explorar el medio tono y el tono doble. Por último, también se puede hacer una búsqueda exhaustiva de D. En la práctica, esta última estrategia puede ser demasiado compleja. La Fig. 18 da un ejemplo de un algoritmo de búsqueda. Este algoritmo de búsqueda puede, por ejemplo, ser parte del proceso de derivación 82 o ambos procesos de derivación 82 y 84 en el lado de codificación y decodificación.
[0059] El coste se inicializa al coste cuando no se realiza ningún mapeo para el contexto. Si la ausencia de
distancia deriva en un mejor coste, no se realiza ningún mapeo. Una bandera se transmite al decodificador para la señalización cuando se realiza el mapeo.
5 [0060] Si se halla una distancia óptima Dopt, hay que transmitirla. Si L ya fue transmitida por otro módulo del
codificador, se requieren parámetros de ajuste m y d, correspondientes a la señalización explícita antes mencionada de la Fig. 9b, para ser transmitidos de una manera que
10
15
20
25
= m.DO + d
[0061] De lo contrario, tiene que ser transmitido el valor absoluto de Dopt. Ambas alternativas se discutieron
anteriormente con respecto a la Fig. 9b. Por ejemplo, si se considera una TCMD de tamaño N = 256 y fs = 12800 Hz, puede cubrirse una frecuencia de tono entre 30 Hz y 256 Hz limitando D entre 2 y 17. Con una resolución de número entero, D puede codificarse con 4 bits, con 5 bits para una resolución de 0,5 y con 6 bits con 0,25.
[0062] La función de coste puede calcularse como el número de bits necesarios para codificar x[] con D
utilizado para generar el mapeo de contexto. Esta función de coste es generalmente compleja de obtener, ya que requiere codificar aritméticamente el espectro o al menos tener una buena estimación del número de bits que necesita. Como esta función de coste puede ser compleja para calcular para cada candidato D, se propone como una alternativa obtener una estimación del coste directamente desde la derivación del mapeo de contexto a partir del valor D. Mientras se deriva el mapeo de contexto, se puede calcular fácilmente la diferencia de la norma del contexto mapeado adyacente. Dado que el contexto se utiliza en el codificador aritmético para predecir la n-tupla para codificar y ya que el contexto está computado en la realización preferida de la presente sobre la base de la norma- L1, la suma de la diferencia de norma entre los contextos mapeados adyacentes es un buen indicador de la eficiencia del mapeo dado D. En primer lugar, la norma de cada 2-tupla de x[] se calcula como sigue:
for(i=0;i<N/2;i++) {
normVect[i]= pow(abs(x[2*i]NORM,)+ pow(abs(normVect[2*i+1], NORM),
}
30
[0063] Donde NORM = 1 en la realización preferida, ya que se considera la norma-L1 en el cómputo de
contexto. En esta sección se describe un mapeo de contexto que trabaja con una resolución de 2, es decir, un mapeo por 2-tupla. La resolución es de r=2 y la tabla de mapeo de contexto tiene un tamaño de N/2. Se presenta a continuación el pseudo código de la generación de mapeo de contexto y el cómputo de la función de coste:
35
Entrada: resolution r Entrada: normVect[N/r]
Salida: contextMapping[N/r]
40 m=1;
i = (int)( m*D/r)); k = 0;
meanDiffNorm= oldNorm=0;
/*Detect Harmonics of spectrum*/
45 while (i <=N/r-preroll) { for(o=0;o<preroll;o++){ meanDiffNorm += abs(normVect[i]-oldNorm); oldNorm =norm Vect[i];
IndexPermutation[k++] = i;
50 i++;
}
m+=1;
i = (int)((m * D)/r));
}
55
/*Detect valleys od spectrum */
SlideIndex=k ;
i = 0;
for (o = 0; o < k; o+=preroll) { for (; i < IndexPermutation[o]; i++) {
meanDiffNorm += abs(normVect[i]-oldNorm); oldNorm =norm Vect[i];
5 IndexPermutation[SlideIndex++] = i;
}
/*skip tonal component*/ i+=preroll; }
10 /*Detect tail of spectrum*/
for (i = SlideIndex; i < numVect; ++i) {
meanDiffNorm +=abs(norm Vect[i]-oldNorm); oldNorm =norm Vect[i];
IndexPermutation[i] = i;
15 }
[0064] Una vez computada la distancia óptima D, la tabla de permutación de índice también se deduce, que
da las posiciones armónicos, los valles y la cola del espectro. Las reglas de mapeo de contexto se deducen entonces como:
20
for (i = 0; i < N/r; i++) { contextMapping[IndexPermutation[i]]=i;
}
25 [0065] Eso significa que para una 2-tupla de índice i en el espectro (x[2*i],x[2*i+1]), el contexto pasado se
considerará con 2-tuplas de índices contextMapping[i-1], contextMapping[¡-2]... contextMapping[i-l], donde I es el tamaño del contexto en términos de 2-tuplas. Si también se consideran uno o más espectros anteriores para el contexto, las 2-tuplas para estos espectros incorporadas en el contexto pasado tendrán como índices contextMapping[i+l],...,contextMapping[i+1],contextMapping[i],contextMapping[i-1], contextMapping[i-l], donde 2l + 1 30 es el tamaño del contexto por espectro anterior.
[0066] La tabla IndexPermutation da también información adicional interesante, ya que reúne los índices de
los componentes tonales seguido por los índices de los componentes no tonales. Por lo tanto, puede esperarse que las amplitudes correspondientes estén disminuyendo. Se puede explotar mediante la detección del último índice en 35 IndexPermutaion, que corresponde a la 2-tupla no cero. Este índice corresponde a (lastNz/2-1), donde lastNz se calcula como:
for (lastNz = (N-2); lastNz >= 0; lastNz -= 2)
{
40 if( (x[2*IndexPermutaion[lastNz/2]] != 0) || (x[2* IndexPermutaion[lastNz/2]+1] != 0)) break;
}
lastNz += 2;
45 lastNz/2 se codifica en los bits ceil(log2(N/2)) antes de los componentes espectrales.
Pseudo-código de codificador aritmético:
[0067]
Entrada: spectrum x[N]
50 Entrada: contextMapping[N/2]
Entrada: lastNz
Salida: Corriente de bits codificada
for (i = 0; i < N/2;i++)
55 {
while((i<N/2) && (contextMapping [i]>=lastNz/2)){ context[contextMapping[i]] = -1; i++;
}
if(i>=N/2){
break;
}
a=a1 = abs(x[2*i]);
5 b=b1 = abs(x[2*i+1]);
t = (context[contextMapping [i-2]<<6) + context[contextMapping [i-1]; while ((a1 >= 4) || (b1 >= 4))
{
10 /*encode escape symbol*/
pki = proba_model_lookup[t]; ari_encode(cum_proba[pki], 16,17);
(a1) >>= 1;
(b1) >>= 1;
15 /*encode LSBs*/
ari_encode(cum_equiproba, a1&1,2); ari_encode(cum_equiproba,b1&1,2);
}
/*encode MSBs*/
20 pki = proba_model_lookup[t];
ari_encode(cum_proba[pki], a1 + 4*b1,17);
/*encode signs*/
If(a>0)
25 {
ari_encode(cum_equiproba,x[2*i]>0,2);
}
If(b>0)
30 {
ari_encode(cum_equiproba,x[2*i+1]>0,2);
}
/*Update context*/
35
context[contextMapping [i]]=min(a+b,power(2,6));
[0068] Las tablas cum_proba[] son modelos acumulativos diferentes obtenidos durante un entrenamiento fuera de línea en un conjunto de entrenamiento grande. Este comprende, en este caso específico, 17 símbolos. La
40 proba_model_lookup[] es una tabla de búsqueda que mapea un índice de contexto t a un modelo de probabilidad acumulativa pki. Esta tabla también se obtiene a través de una fase de entrenamiento. cum_equiprob[] es una tabla de probabilidad acumulativa para un alfabeto de 2 símbolos que son equi-probables.
Segunda realización: 2-tupla con mapeo de 1-tupla 45
[0069] En esta segunda realización, los componentes espectrales todavía son 2-tuplas codificadas por 2- tuplas, pero el contextMapping tiene ahora una resolución de 1-tupla. Eso significa que hay muchas más posibilidades y flexibilidades en el mapeo del contexto. El contexto mapeado puede entonces ajustarse mejor a una señal dada. La distancia óptima se busca de la misma manera en que se hace en la sección 3, pero esta vez con
50 una resolución de r=1. Por eso, normVect[] tiene que computarse para cada línea MDCT:
for(i=0;i<N;i++){
norm Vect[i]= pow(abs(x[2*i]NORM,);
}
55
[0070] El mapeo de contexto resultante se da a continuación por una tabla de dimensión N. LastNz se computa como en la sección anterior y la codificación se puede describir de la siguiente manera:
Entrada: lastNz
Entrada: ContextMapping[N]
Entrada: spectrum x[N] salida: Corriente de bits codificada local: context[N/2]
5
for (k=0,i = 0; k < lastnz; k+=2){
/* Next coefficient to code*/ while(contextMapping[i]> =lastnz) i++; a1_i=i++;
10 /* Next coefficient to code*/
while(contextMapping[i]> =lastnz) i++; b1_i=i++;
/*Get context for the lowest index*/
15 i_min=min(contextMapping[a1_i], contextMapping[b1_i]); t = context[(i_min/2)-2]<<6 + context[(i_min/2)-1];
/* Init current 2-tuple encoding */ a=a1 = abs(x[a1_i]);
20 b=b1 = abs(x[b1_i]);
while ((a1 >= 4) || (b1 >= 4))
{
/*encode escape symbol*/
25 pki = proba_model_lookup[t];
ari_encode(cum_proba[pki],16,16);
(a1) >>= 1;
(b1) >>= 1;
/*encode LSBs*/
30 ari_encode(cum_equiproba, a1&1,2);
ari_encode(cum_equiproba,b1&1,2);
}
/*encode MSBs*/
pki = proba_model_lookup[t];
35 ari_encode(cum_proba[pki], a1 + 4*b1,16);
/*encode signs*/
if(a>0) ari_encode(cum_equiproba,x[2*i]>0,2); if(b>0) ari_encode(cum_equiproba,x[2*i+1]>0,2);
40
/*update context*/
if(contextMapping[a1_i]!=( contextMapping [b1_i]-1)){ context[contextMapping[a1_i]/2]=min(a+a,power(2,6)); context[contextMapping[b1_i]/2]=min(b+b,power(2,6));
45 }else{
context[contextMapping[a1_i]/2]=min(a+b,power(2,6)); context[contextMapping[b 1_i]/2]=min(a+b,power(2,6));
}
}
50
[0071] A diferencia de la sección anterior, dos coeficientes espectrales no subsecuentes pueden reunirse en la misma 2-tupla. Por esta razón, el mapeo de contexto para los dos elementos de la 2-tupla puede apuntar a dos índices diferentes en la tabla de contexto. En la realización preferida, se selecciona el contexto mapeado con el índice más bajo pero también se puede tener una regla diferente, como un promedio de los dos contextos
55 mapeados. Por la misma razón, la actualización del contexto también debe manipularse de forma diferente. Si los dos elementos son consecutivos en el espectro, se utiliza la forma convencional de calcular el contexto. De lo contrario, el contexto se actualiza por separado para los dos elementos considerando sólo su propia magnitud.
[0072] La decodificación consiste en los siguientes pasos:
• Decodificar la bandera para saber si se realiza mapeo de contexto
• Decodificar el mapeo de contexto, ya sea por la decodificación Dopt o los parámetros de ajuste de parámetros para obtener Dopt para D0.
5 • Decodificar lastNz
• Decodificar el espectro cuantificado de la siguiente manera:
Entrada: lastNz Entrada: contextMapping[N]
10 Entrada: corriente de bits codificada local: context[N/2]
Salida: espectro cuantificado x[N]
for (k=0,i = 0; k < lastnz; k+=2){
15 a=b=0;
/* Next coefficient to code*/ while(contextMapping[i]>=lastnz) x[ i++]=0; a1_i=i++;
/* Next coefficient to code*/
20 while(contextMapping[i]>=lastnz) x[ i++]=0; b1_i=i++;
/*Get context for the lowest index*/ i_min=min(contextMapping[a1_i], contextMapping[b1_i]);
25 t = context[(i_min/2)-2]<<6 + context[(i_min/2)-1];
/* Init current 2-tuple encoding */ a=a1 = abs(x[a1_i]); b=b1 = abs(x[b1_i]);
30
/*MSBs decoding*/ for (lev=0;;)
{
pki = proba_model_lookup[t];
35 r= ari_decode(cum_proba[pki],16); if(r<16){ break;
}
/*LSBs decoding*/
40 a=(a)+ ari_decode(cum_equiproba,2)<<(lev));
b=(b)+ ari_decode(cum_equiproba,2) <<(lev)); lev+=1;
}
b1= r>>2;
45 a1= r&0x3; a += (a1)<<lev; b += (b1)<<lev;
/*update context*/
50 if(contextMapping[a1_i]!=( contextMapping [b1_i]-1)){ context[contextMapping[a1_i]/2]=min(a+a,power(2,6)); context[contextMapping[b1_i]/2]=min(b+b,power(2,6)); }else{
context[contextMapping[a1_i]/2]=min(a+b,power(2,6)); 55 context[contextMapping[b 1_i]/2]=min(a+b,power(2,6)); }
/*decode signs*/
if(a>0) a=a*(-2*ari_decode(cum_equiproba ,2)+1);
if(b>0) b=b*(-2*ari_decode(cum_equiproba ,2)+1);
/* Store decoded data */ x[a1_i] = a;
5 x[b1_i] = b;
}
[0073] De este modo, las realizaciones anteriores, inter alias, revelaron, por ejemplo, un mapeo de contexto 10 basado en tono para codificación por entropía, tal como aritmética, de señales tonales.
[0074] Aunque algunos aspectos se han descrito en el contexto de un aparato, está claro que estos aspectos también representan una descripción del procedimiento correspondiente, donde un bloque o dispositivo corresponde a una etapa de procedimiento o una característica de una etapa de procedimiento. Análogamente, los aspectos
15 descritos en el contexto de una etapa de un procedimiento también representan una descripción de un bloque o un elemento o característica correspondiente de un aparato correspondiente. Algunas o todas las etapas del procedimiento pueden ejecutarse por (o por el uso de) un aparato de hardware como, por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, alguna o más de las etapas del procedimiento más importantes pueden ejecutarse por tal aparato.
20
[0075] La señal de audio codificada de la invención puede almacenarse en un medio de almacenamiento digital o puede transmitirse 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.
25 [0076] Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden
implementarse en hardware o en software. La aplicación se puede realizar utilizando un medio de almacenamiento digital, por ejemplo, un disquete, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, con señales de control legibles electrónicamente almacenadas en la misma, que cooperan (o son capaces de cooperar) con un sistema informático programable de tal manera que se lleva a cabo el 30 procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por un ordenador.
[0077] Algunas realizaciones según la invención comprenden un soporte de datos que tiene señales de control legibles electrónicamente, que son capaces de cooperar con un sistema informático programable, de modo que se lleva a cabo uno de los procedimientos descritos en esta invención.
35
[0078] Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de un programa informático con un código de programa, donde el código de programa es operativo para llevar a cabo uno de los procedimientos, cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede por ejemplo almacenarse en un soporte legible por una máquina.
40
[0079] Otras realizaciones comprenden el programa de ordenador para llevar a cabo uno de los procedimientos descritos en esta invención, almacenado en un soporte legible por una máquina.
[0080] En otras palabras, una realización del procedimiento de la invención es, por lo tanto, un programa 45 informático que tiene un código de programa para llevar a cabo uno de los procedimientos descritos en esta
invención, cuando el programa informático se ejecuta en un ordenador.
[0081] Una realización adicional de los métodos de la invención es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, en este, el programa de
50 ordenador para realizar uno de los procedimientos descritos en esta invención. El soporte de datos, el medio de almacenamiento digital o el medio con el programa típicamente son tangibles y/o no transitorios.
[0082] Una realización adicional del procedimiento de la invención es, por lo tanto, una corriente de datos o una secuencia de señales que representan el programa de ordenador para realizar uno de los procedimientos
55 descritos en esta invención. La corriente de datos o la secuencia de señales puede, por ejemplo, configurarse para transferencia a través de una conexión de comunicación de datos, por ejemplo a través de Internet.
[0083] Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo lógico programable, configurado para o adaptado para realizar uno de los procedimientos descritos en
esta invención.
[0084] Una realización adicional comprende además un ordenador que tiene instalado el programa informático para realizar uno de los procedimientos descritos en esta invención.
5
[0085] Una realización adicional según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa de ordenador para realizar uno de los procedimientos descritos en esta invención a un receptor. El receptor puede, por ejemplo, ser un ordenador, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o sistema puede, por ejemplo, comprender un
10 servidor de archivos para transferir el programa de ordenador al receptor.
[0086] En algunas realizaciones, se puede utilizar un dispositivo lógico programable (por ejemplo, una matriz de puertas programable en campo) para realizar algunas o todas las funcionalidades de los procedimientos descritos en esta invención. En algunas realizaciones, una matriz de puertas programable en campo puede cooperar con un
15 microprocesador para llevar a cabo uno de los procedimientos descritos en esta invención. Generalmente, los procedimientos se realizan preferiblemente por cualquier aparato de hardware.
[0087] Las realizaciones descritas con anterioridad son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en
20 esta invención serán evidentes para aquellos con experiencia en la técnica. Por lo tanto, se pretende limitarlas sólo por el alcance de las reivindicaciones de patente inminentes y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de esta invención.
Referencias
25
[0088]
[1] Fuchs, G.; Subbaraman, V.; Multrus, M., "Efficient context adaptive entropy coding for real-time applications," Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on , vol., no., pp.493,496,
30 22-27 May 2011
[2] ISO/IEC 13818, Part 7, MPEG-2 AAC
[3] Juin-Hwey Chen; Dongmei Wang, "Transform predictive coding of wideband speech signals," Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference Proceedings., 1996 IEEE International Conference on , vol.1, no., pp.275,278 vol. 1, 7-10 May 1996
35

Claims (18)

  1. REIVINDICACIONES
    1. Decodificador (40) configurado para decodificar los coeficientes espectrales (14) de un espectro (12) de una señal de audio (18), perteneciendo los coeficientes espectrales al mismo instante de tiempo, estando el
    5 decodificador configurado para decodificar secuencialmente, desde frecuencia baja a alta, coeficientes espectrales y decodificar un coeficiente espectral (x) que va a ser decodificado actualmente por decodificación por entropía dependiendo, de una manera adaptativa según el contexto, en un coeficiente espectral previamente decodificado (o) de los coeficientes espectrales, con el ajuste de una distancia espectral relativa (28) entre el coeficiente espectral previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente dependiendo de 10 una información sobre una forma del espectro.
  2. 2. Decodificador según la reivindicación 1, en el que la información relativa a una forma del espectro comprende al menos uno de
    15 una medida (60) de un tono o periodicidad de la señal de audio (18);
    una medida de la distancia inter-armónica del espectro de la señal de audio (12); ubicaciones relativas de formantes (70) y/o valles (72) de una envoltura espectral del espectro.
  3. 3. Decodificador según la reivindicación 1 ó 2, en el que el decodificador (40) está configurado para 20 derivar la información relativa a la forma del espectro desde la señalización explícita.
  4. 4. Decodificador según la reivindicación 1 ó 2, en el que el decodificador (40) está configurado para derivar la información relativa a la forma del espectro de coeficientes espectrales previamente decodificados (o) o la envolvente espectral basada en LPC previamente decodificada del espectro.
    25
  5. 5. Decodificador según cualquiera de las reivindicaciones anteriores, en el que se configura el
    decodificador (40) de tal manera que la dependencia de la decodificación por entropía implica una pluralidad de coeficientes espectrales previamente decodificados (o), un margen espectral de posiciones espectrales de las cuales se ajusta dependiendo de la información relativa a la forma del espectro.
    30
  6. 6. Decodificador según cualquiera de las reivindicaciones anteriores, en el que se configura el
    decodificador (40) de tal manera que
    la información relativa a la forma del espectro es una medida (60) de un campo de la señal de audio y el 35 decodificador está configurado para ajustar la distancia espectral relativa (28) entre el coeficiente espectral previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente dependiendo de la medida de la altura de tal manera que la distancia espectral relativa aumenta con el aumento del tono, o la información relativa a la forma del espectro es una medida (60) de una periodicidad de la señal de audio y el decodificador está configurado para ajustar la distancia espectral relativa (28) entre el coeficiente espectral 40 previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente dependiendo de la medida de periodicidad de tal manera que la distancia espectral relativa disminuye con el aumento de periodicidad, o la información relativa a la forma del espectro es una medida de la distancia inter-armónica del espectro de la señal de audio (12), y el decodificador (40) está configurado para ajustar la distancia espectral relativa entre el coeficiente espectral previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente 45 dependiendo de la medida de la distancia inter-armónica de tal manera que la distancia espectral relativa aumenta al aumentar la distancia inter-armónica, o
    la información relativa a la forma del espectro comprende ubicaciones relativas de formantes (70) y/o valles (72) de una envoltura espectral del espectro, y el decodificador está configurado para ajustar la distancia espectral relativa entre el coeficiente espectral previamente decodificado y coeficiente espectral que va a ser decodificado 50 actualmente dependiendo de la ubicación de tal manera que la distancia espectral relativa aumenta con el aumento de la distancia espectral (74) entre los valles de la envolvente espectral o entre los formantes en la envolvente espectral.
  7. 7. Decodificador según cualquiera de las reivindicaciones anteriores, en el que el decodificador está 55 configurado para, en la decodificación del coeficiente espectral que va a ser decodificado actualmente por
    decodificación por entropía, derivar una estimación de la distribución de probabilidad (56) para el coeficiente espectral que va a ser decodificado actualmente sometiendo el coeficiente espectral previamente decodificado a una función escalar (82) y utilizar la estimación de la distribución de probabilidad para la decodificación por entropía.
  8. 8. Decodificador según cualquiera de las reivindicaciones anteriores, en el que el decodificador está configurado para utilizar decodificación aritmética como decodificación por entropía.
  9. 9. Decodificador según cualquiera de las reivindicaciones anteriores, en el que se configura el
    5 decodificador para descifrar el coeficiente espectral que va a ser decodificado actualmente mediante la predicción
    espectral y/o temporal del coeficiente espectral que va a ser decodificado actualmente y corrección de la predicción espectral y/o temporal por una predicción residual obtenida a través de la decodificación por entropía.
  10. 10. Decodificador de audio basado en transformada que comprende un decodificador configurado para 10 decodificar los coeficientes espectrales de un espectro de una señal de audio según cualquiera de las
    reivindicaciones anteriores.
  11. 11. Decodificador de audio basado en transformada según la reivindicación 10, en el que el decodificador está configurado para dar forma espectralmente al espectro por el escalamiento del espectro utilizando factores de
    15 escala (114).
  12. 12. Decodificador de audio basado en transformada según la reivindicación 11, configurado para
    determinar los factores de escala (114) basado en información de coeficiente de predicción lineal de tal manera que los factores de escala representan una función de transferencia dependiendo de un filtro de síntesis de predicción
    20 lineal definido por la información del coeficiente de predicción lineal.
  13. 13. Decodificador de audio basado en transformada según la reivindicación 12, en el que la dependencia de la función de transferencia en el filtro de síntesis de predicción lineal definido por la información de coeficiente de predicción lineal es tal que la función de transferencia es perceptualmente ponderada.
    25
  14. 14. Decodificador de audio basado en transformada según la reivindicación 13, en el que la dependencia
    de la función de transferencia en el filtro de síntesis de predicción lineal, 1/A(z), definida por la información de
    predicción lineal, es de tal manera que la función de transferencia es una función de transferencia de 1/A(k z), donde k es una constante.
    30
  15. 15. Decodificador de audio basado en transformada según cualquiera de las reivindicaciones 10 a 14, en el que el decodificador de audio basado en transformada soporta predicción armónica a largo plazo o post filtrado controlado vía parámetros de predicción a largo plazo explícitamente señalados, en el que el decodificador de audio basado en transformada está configurado para obtener la información relativa a la forma del espectro de la señal de
    35 los parámetros de predicción a largo plazo explícitamente señalados.
  16. 16. Codificador (10) configurado para codificar los coeficientes espectrales (14) de un espectro (12) de una señal de audio (18), perteneciendo los coeficientes espectrales al mismo instante de tiempo, estando configurado el codificador para codificar secuencialmente, desde frecuencia baja a alta, los coeficientes espectrales
    40 (x) que van a ser codificados actualmente de los coeficientes espectrales por codificación por entropía dependiendo de, en una manera adaptativa según el contexto, un coeficiente espectral previamente codificado (o), con el ajuste de una distancia espectral relativa (28) entre el coeficiente espectral previamente codificado y el coeficiente espectral actualmente codificado dependiendo de una información sobre la forma del espectro.
    45 17. Procedimiento para decodificar coeficientes espectrales (14) de un espectro (12) de una señal de
    audio (18), perteneciendo los coeficientes espectrales al mismo instante de tiempo, comprendiendo el procedimiento la decodificación secuencialmente, de baja a alta frecuencia, de los coeficientes espectrales (x) que van a ser decodificados actualmente por decodificación por entropía dependiendo de, de una manera adaptativa según el contexto, un coeficiente espectral previamente decodificado (o), con el ajuste de una distancia espectral relativa (28) 50 entre el coeficiente espectral previamente decodificado (o) y el coeficiente espectral (x) que va a ser decodificado actualmente dependiendo de una información sobre una forma del espectro.
  17. 18. Procedimiento para codificar coeficientes espectrales (14) de un espectro (12) de una señal de audio
    (18), perteneciendo los coeficientes espectrales al mismo instante de tiempo, comprendiendo el procedimiento 55 secuencialmente, de baja a alta frecuencia, la codificación de los coeficientes espectrales y la codificación de un coeficiente espectral (x) que va a ser codificado actualmente de los coeficientes espectrales por codificación por entropía dependiendo de, en una manera adaptativa según el contexto, un coeficiente espectral previamente codificado (o), con el ajuste de una distancia espectral relativa (28) entre el coeficiente espectral previamente codificado y el coeficiente espectral actualmente codificado según una información sobre una forma del espectro.
  18. 19. Programa informático que tiene un código de programa para llevar a cabo, cuando se ejecuta en un
    ordenador, un procedimiento según la reivindicación 17 ó 18.
ES14792420.3T 2013-10-18 2014-10-17 Codificación de coeficientes espectrales de un espectro de una señal de audio Active ES2660392T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13189391 2013-10-18
EP13189391 2013-10-18
EP14178806 2014-07-28
EP14178806 2014-07-28
PCT/EP2014/072290 WO2015055800A1 (en) 2013-10-18 2014-10-17 Coding of spectral coefficients of a spectrum of an audio signal

Publications (1)

Publication Number Publication Date
ES2660392T3 true ES2660392T3 (es) 2018-03-22

Family

ID=51844681

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14792420.3T Active ES2660392T3 (es) 2013-10-18 2014-10-17 Codificación de coeficientes espectrales de un espectro de una señal de audio

Country Status (17)

Country Link
US (3) US9892735B2 (es)
EP (1) EP3058566B1 (es)
JP (3) JP6385433B2 (es)
KR (1) KR101831289B1 (es)
CN (2) CN105723452B (es)
AU (1) AU2014336097B2 (es)
BR (1) BR112016008117B1 (es)
CA (1) CA2925734C (es)
ES (1) ES2660392T3 (es)
MX (1) MX357135B (es)
MY (1) MY181965A (es)
PL (1) PL3058566T3 (es)
PT (1) PT3058566T (es)
RU (1) RU2638734C2 (es)
SG (1) SG11201603046RA (es)
TW (1) TWI578308B (es)
WO (1) WO2015055800A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313359B1 (en) 2011-04-26 2016-04-12 Gracenote, Inc. Media content identification on mobile devices
EP3937167B1 (en) * 2008-07-11 2023-05-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder
TWI671736B (zh) 2011-10-21 2019-09-11 南韓商三星電子股份有限公司 對信號的包絡進行寫碼的設備及對其進行解碼的設備
US20190373312A1 (en) 2012-02-21 2019-12-05 Gracenote, Inc. Media Content Identification on Mobile Devices
BR112016008117B1 (pt) * 2013-10-18 2021-12-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificação de coeficientes espectrais de um espectro de um sinal de áudio
PL3139381T3 (pl) 2014-05-01 2019-10-31 Nippon Telegraph & Telephone Urządzenie generujące sekwencję okresowej połączonej obwiedni, sposób generowania sekwencji okresowej połączonej obwiedni, program do generowania sekwencji okresowej połączonej obwiedni i nośnik rejestrujący
DE102016200637B3 (de) * 2016-01-19 2017-04-27 Sivantos Pte. Ltd. Verfahren zur Reduktion der Latenzzeit einer Filterbank zur Filterung eines Audiosignals sowie Verfahren zum latenzarmen Betrieb eines Hörsystems
JP2018113414A (ja) * 2017-01-13 2018-07-19 新光電気工業株式会社 半導体装置とその製造方法
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483878A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
EP3483886A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
CN110544472B (zh) * 2019-09-29 2021-12-31 上海依图信息技术有限公司 提升使用cnn网络结构的语音任务的性能的方法
US11227614B2 (en) * 2020-06-11 2022-01-18 Silicon Laboratories Inc. End node spectrogram compression for machine learning speech recognition

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
IT1281001B1 (it) * 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
ATE543179T1 (de) * 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
US7599840B2 (en) 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
JP4736699B2 (ja) * 2005-10-13 2011-07-27 株式会社ケンウッド 音声信号圧縮装置、音声信号復元装置、音声信号圧縮方法、音声信号復元方法及びプログラム
DE102006027673A1 (de) 2006-06-14 2007-12-20 Friedrich-Alexander-Universität Erlangen-Nürnberg Signaltrenner, Verfahren zum Bestimmen von Ausgangssignalen basierend auf Mikrophonsignalen und Computerprogramm
US8527265B2 (en) 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
CN100578619C (zh) * 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
KR101221919B1 (ko) 2008-03-03 2013-01-15 연세대학교 산학협력단 오디오 신호 처리 방법 및 장치
MY154452A (en) * 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
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
WO2011042464A1 (en) * 2009-10-08 2011-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping
CN102884572B (zh) * 2010-03-10 2015-06-17 弗兰霍菲尔运输应用研究公司 音频信号解码器、音频信号编码器、用以将音频信号解码的方法、及用以将音频信号编码的方法
CN103329199B (zh) * 2011-01-25 2015-04-08 日本电信电话株式会社 编码方法、编码装置、周期性特征量决定方法、周期性特征量决定装置、程序、记录介质
RU2464649C1 (ru) 2011-06-01 2012-10-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ обработки звукового сигнала
SG11201408677YA (en) * 2012-06-28 2015-01-29 Fraunhofer Ges Forschung Linear prediction based audio coding using improved probability distribution estimation
BR112016008117B1 (pt) * 2013-10-18 2021-12-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificação de coeficientes espectrais de um espectro de um sinal de áudio

Also Published As

Publication number Publication date
MX2016004806A (es) 2016-06-24
JP2017501427A (ja) 2017-01-12
RU2638734C2 (ru) 2017-12-15
EP3058566A1 (en) 2016-08-24
JP6385433B2 (ja) 2018-09-05
MY181965A (en) 2021-01-15
AU2014336097B2 (en) 2017-01-19
CN105723452B (zh) 2020-01-31
PL3058566T3 (pl) 2018-07-31
CN105723452A (zh) 2016-06-29
US9892735B2 (en) 2018-02-13
CN111009249B (zh) 2021-06-04
BR112016008117A2 (pt) 2017-08-01
AU2014336097A1 (en) 2016-05-19
RU2016118776A (ru) 2017-11-23
PT3058566T (pt) 2018-03-01
BR112016008117B1 (pt) 2021-12-14
TWI578308B (zh) 2017-04-11
JP2018205758A (ja) 2018-12-27
SG11201603046RA (en) 2016-05-30
US20180122387A1 (en) 2018-05-03
US20190043513A1 (en) 2019-02-07
US10847166B2 (en) 2020-11-24
CA2925734A1 (en) 2015-04-23
JP7218329B2 (ja) 2023-02-06
CN111009249A (zh) 2020-04-14
TW201521015A (zh) 2015-06-01
EP3058566B1 (en) 2017-11-22
WO2015055800A1 (en) 2015-04-23
US10115401B2 (en) 2018-10-30
JP6748160B2 (ja) 2020-08-26
US20160307576A1 (en) 2016-10-20
MX357135B (es) 2018-06-27
KR101831289B1 (ko) 2018-02-22
KR20160060085A (ko) 2016-05-27
JP2020190751A (ja) 2020-11-26
CA2925734C (en) 2018-07-10

Similar Documents

Publication Publication Date Title
ES2660392T3 (es) Codificación de coeficientes espectrales de un espectro de una señal de audio
ES2884133T3 (es) Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC
ES2604983T3 (es) Ajuste de nivel en el dominio del tiempo para decodificación o codificación de señales de audio
ES2665646T3 (es) Codificación de entropía basada en el contexto de valores de muestra de una envolvente espectral
ES2404408T3 (es) Dispositivo de codificación y método de codificación
ES2558508T3 (es) Método de codificación, codificador, método de determinación de la cantidad de una característica periódica, aparato de determinación de la cantidad de una característica periódica, programa y medio de grabación
ES2834391T3 (es) Codificación de una señal de audio
ES2644131T3 (es) Predicción lineal basada en una codificación de audio utilizando un estimador mejorado de distibución de probabilidad
JP6148811B2 (ja) 周波数領域におけるlpc系符号化のための低周波数エンファシス
WO2009125588A1 (ja) 符号化装置および符号化方法
RU2621003C2 (ru) Адаптивное к тональности квантование низкой сложности аудиосигналов
ES2646021T3 (es) Método y aparato para codificación, procesamiento y decodificación de envolvente de señal de audio mediante modelado de una representación de suma acumulativa que emplea cuantificación de distribución y codificación