ES2238798T3 - Metodo para codificar y descodificar datos de tipo audio. - Google Patents

Metodo para codificar y descodificar datos de tipo audio.

Info

Publication number
ES2238798T3
ES2238798T3 ES99117212T ES99117212T ES2238798T3 ES 2238798 T3 ES2238798 T3 ES 2238798T3 ES 99117212 T ES99117212 T ES 99117212T ES 99117212 T ES99117212 T ES 99117212T ES 2238798 T3 ES2238798 T3 ES 2238798T3
Authority
ES
Spain
Prior art keywords
transformation
coefficients
signal
transformation coefficients
band
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.)
Expired - Lifetime
Application number
ES99117212T
Other languages
English (en)
Inventor
Jae S. Lim
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.)
Massachusetts Institute of Technology
Original Assignee
Massachusetts Institute of Technology
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
Priority claimed from US07/822,247 external-priority patent/US5394508A/en
Application filed by Massachusetts Institute of Technology filed Critical Massachusetts Institute of Technology
Application granted granted Critical
Publication of ES2238798T3 publication Critical patent/ES2238798T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/667Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using a division in frequency subbands
    • 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/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • 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/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02163Only one microphone
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

UNA SEÑAL DE AUDIO ES CODIFICADA. LA SEÑAL SE DIVIDE PRIMERAMENTE EN BANDAS (600), SELECCIONANDOSE UN ELEMENTO DE SEÑAL COMO "VARA DE MEDIR" PARA CADA BANDA (608), Y USANDOSE SU MAGNITUD CUANTIFICADA PARA ASIGNAR LISTAS, CON MENOS PRECISION PARA CUANTIFICAR LOS ELEMENTOS DE SEÑAL QUE NO SEAN "VARAS DE MEDIR" (624), DECODIFICANDOSE DESPUES LA SEÑAL CODIFICADA (918, 926).

Description

Método para codificar y descodificar datos de tipo audio.
Campo y antecedentes de la invención
La presente invención se refiere generalmente al campo del procesamiento de señales, y de forma más específica a la codificación y compresión de datos. La invención se refiere de forma todavía más específica a un método y un aparato para la codificación y compresión de datos digitales que representan señales audio o señales que tienen generalmente las características de señales audio.
Las señales audio se encuentran por todas partes. Se transmiten como señales de radio y como parte de las señales de televisión. Otras señales, como las de voz, comparten las características pertinentes con las señales audio, como la importancia de representaciones de dominio espectral. Para muchas aplicaciones, es provechoso almacenar y transmitir datos de tipo audio codificados de forma digital, más que en forma analógica. Estos datos codificados son almacenados en varios tipos de medios digitales, incluidos los discos compactos audio, cintas digitales audio, discos magnéticos, memoria de ordenador, tanto de acceso directo (RAM) como de lectura únicamente (ROM), sólo para nombrar algunos.
Es beneficioso minimizar la cantidad de datos digitales necesarios para caracterizar adecuadamente una señal analógica de tipo audio. La minimización de la cantidad de datos da como resultado la minimización de la cantidad de medios físicos de almacenamiento que se necesitan, reduciendo de este modo el coste e incrementando la conveniencia de cualquier hardware que se utilice conjuntamente con los datos. La minimización de la cantidad de datos necesarios para caracterizar una parte temporal dada de una señal audio también permite una transmisión más rápida de la representación digital de una señal audio en cualquier canal de comunicación dado. Esto produce también un ahorro de costes, ya que los datos comprimidos que representan la misma parte temporal de una señal audio pueden ser enviados de forma más rápida con respecto a los datos no comprimidos, o pueden ser enviados por un canal de comunicaciones con un ancho de banda más estrecho, siendo ambas consecuencias típicamente menos caras.
Los principios del procesamiento de señales digitales audio son bien conocidos y expuestos en numerosas fuentes, incluida Watkinson, John, The Art of Digital Audio., Focal Press, Londres (1988). En la Fig.1 se muestra de forma esquemática una señal audio analógica x(t). El eje horizontal representa el tiempo. La amplitud de la señal en un tiempo t se muestra en el eje vertical. La escala del eje de tiempo es en milisegundos, y en la Fig. 1 se representan aproximadamente dos milésimas de segundo de señal audio de forma esquemática. Un primer paso básico en el almacenamiento o transmisión de la señal audio analógica como señal digital consiste en tomar muestras de la señal dentro de los elementos de señal discreta, que se procesarán más tarde.
El muestreo de la señal x(t) se expone de forma esquemática en la Fig. 2. La señal x(t) se evalúa en muchos momentos discretos en tiempo, por ejemplo a una velocidad de 48 kHz. Por muestreo, se quiere decir que la amplitud de la señal x(t) es anotada y registrada cuarenta y ocho mil veces por segundo. Así, durante un período de un mseg (1 x 10^{-3} seg.), se tomarán muestras de la señal x(t) cuarenta y ocho veces. El resultado es una serie temporal x(n) de amplitudes, como muestra la Fig. 2, con intervalos entre las amplitudes para las partes de la señal audio analógica x(t) que no se midieron. Si la velocidad de muestreo es suficientemente alta con respecto a las variaciones del modo tiempo en la señal analógica, entonces las magnitudes de los valores muestreados seguirán generalmente la forma de la señal analógica. Como muestra la Fig. 2, los valores muestreados siguen bastante bien la señal x(t).
El esquema del método general de un procesamiento de señal digital es expone de forma esquemática en la Fig. 4A. El paso inicial para obtener la señal audio se muestra en 99 y el paso de muestreo se indica en 102. Una vez muestreada la señal, se transforma típicamente desde el dominio temporal, el dominio de las Figuras 1 y 2, en otro dominio que facilita el análisis. Típicamente, una señal en el tiempo puede ser escrita como suma de un número de funciones armónicas sencillas de tiempo, como cos\omegat y sen\omegat, para cada una de las distintas frecuencias armónicas de \omega. La expresión de una señal de variación temporal como serie de funciones armónicas es tratada generalmente en Feynman, R., Leighton, R., and Sands, M., The Feynman Lectures on Physics, Addison-Wesley Publishing Company, Reading, Massachusetts (1963) Vol. I, \NAK 50. Existen y son bien conocidos varios métodos de transformación (a veces denominados métodos de "sub-banda"). Baylon, David and Lim, Jae, "Transform/Subband Analysis and Synthesis of Signals", pp. 540-544, 2ssPA90, Gold Coast, Australia, Aug. 27-31 (1990). Uno de estos métodos es el método de Cancelación de Aliasing de Dominio Temporal ("TDAC"). Otra de estas transformaciones es conocida por Transformación Discreta del Coseno ("DCT"). La transformación se realiza mediante la aplicación de una función de transformación a la señal original. Un ejemplo de transformación DCT es:
X(k)= \sum\limits_{n = 0}^{N-1}2x(n)\cdot cos \frac{\pi}{2N}k(2n + 1),
para 0 \leq k \leq N-1
= 0
o de otro modo,
donde k es la variable de frecuencia y N es típicamente el número de muestras en la ventana.
La transformación produce un conjunto de coeficientes de amplitud de una variable distinta del tiempo, típicamente la frecuencia. Los coeficientes pueden ser tanto valorados de forma real como de forma compleja. (Si X(k) se valora de forma compleja, la presente invención puede ser aplicada a las partes reales e imaginarias de X(k) separadamente, o a la magnitud y partes fásicas de X(k) separadamente, por ejemplo. Con el propósito de la discusión, se asumirá, sin embargo, que X(k) es valorado de forma real). El trazado típico de una parte de la señal x(n) transformada en X(k) se muestra de forma esquemática en la Fig. 3. Si se aplica lo contrario de la operación de transformación a la señal transformada X(k), se producirá la señal muestreada original x(n).
La transformada se toma mediante la aplicación de la función de transformación a un elemento de modo tiempo de la señal analógica muestreada x(n). El elemento (conocido por "encuadre") se selecciona mediante la aplicación de una ventana a 104 a x(n). Son adecuados varios métodos aplicación de ventanas. Las ventanas pueden aplicarse secuencialmente, o, de forma más típica, hay superposición. La ventana debe ser consecuente con el método de transformación, en un caso típico, el método TDAC. Como se muestra en la Fig. 2, se aplica una ventana w_{1}(n) a x(n), y encierra cuarenta y ocho muestras, que duran un tiempo de un mseg (1 x 10^{-3} seg.). (Se han mostrado cuarenta y ocho muestras solamente al efecto de ilustración. En una aplicación típica, se incluyen en una ventana muchas más muestras que cuarenta y ocho). La ventana w_{2}(n) se aplica a la mseg. siguiente. Las ventanas son típicamente superpuestas, pero se muestran ventanas que no se superponen solamente al efecto de ilustración. La transformación de las señales desde un dominio a otro, por ejemplo desde el tiempo a la frecuencia, se expone en muchos textos básicos, incluidos: Oppenheim, A.V., and Schafer, R.W., Digital Signal Processing, Englewood Cliffs, N.J. Prentice Hall (1975); Rabiner, L.R., Gold, B., Theory and Application of Digital Signal Processing, Englewood Cliffs, N.J., Prentice Hall,
(1975).
La aplicación de la transformación, indicada en 106 de la Fig. 4A, a la ventana de la señal muestreada x(n) da como resultado un conjunto de coeficientes para un rango de frecuencias discretas. Cada coeficiente del encuadre de señales transformadas representa la amplitud de un componente de la señal transformada a la frecuencia indicada. El número de componentes de frecuencia es típicamente el mismo para cada encuadre. Por supuesto, las amplitudes de los componentes de las frecuencias correspondientes serán diferentes de un segmento a otro.
Como se muestra en la Fig. 3, la señal X(k) es una pluralidad de amplitudes a frecuencias discretas. Esta señal se denomina aquí "espectro" de la señal original. Según los métodos conocidos, el siguiente paso consiste en codificar las amplitudes para cada una de las frecuencias de acuerdo con algún código binario, y transmitir o almacenar las amplitudes codificadas.
Una tarea importante en las señales de codificación consiste en asignar el número fijo de bits disponibles a la especificación de las amplitudes de los coeficientes. El número de bits asignados a un coeficiente, o cualquier otro elemento de señal, se denomina aquí el "número asignado de bits" de este coeficiente o elemento de señal. Este paso se muestra con respecto a los demás pasos en 107 de la Fig. 4A. Generalmente, para cada encuadre, está disponible un número fijo de bits N, que se determina a partir de consideraciones como: el ancho de banda del canal de comunicaciones en el cual se transmitirán los datos; o la capacidad de los medios de almacenamiento; o la cantidad de corrección de errores necesaria. Como se menciona anteriormente, cada encuadre genera el mismo número, C, de coeficientes (aunque la amplitud de algunos coeficientes pueda ser de cero).
Así, un método sencillo para asignar el N disponible de bits consiste en distribuirlos uniformemente entre el C de coeficientes, de modo que cada coeficiente pueda ser especificado por N/C bits. (Al efecto de la discusión, se asume que N/C es un número entero). Así, teniendo en consideración la señal transformada X(k), como se muestra en la Fig. 3, el coeficiente 32, que tiene una amplitud de aproximadamente cien, estaría representado por una palabra clave que tendría el mismo número de bits (N/C) que lo tendría el coeficiente 34, que tiene una amplitud mucho más pequeña. de sólo diez aproximadamente. Según la mayoría de los métodos de codificación, se requieren más bits para especificar o codificar un número dentro de un rango más amplio que los que se requieren para especificar un número dentro de un rango más reducido, asumiendo que ambos están especificados según una misma precisión. Por ejemplo, para codificar los números enteros entre cero y cien con perfecta precisión mediante la utilización de un simple código binario, se requieren siete bits, mientras que se necesitan cuatro bits para especificar los números enteros entre cero y diez. Así, si se asignaran siete bits a cada uno de los coeficientes en la señal, se desperdiciarían tres bits por cada coeficiente que podría haber sido especificado utilizando solamente cuatro bits. Cuando solamente un número limitado de bits está disponible para su asignación entre muchos coeficientes, es importante conservar, más que gastar, los bits. El gasto de bits puede reducirse si se conoce con exactitud el rango de los valores.
Existen varios métodos conocidos para asignar el número de bits a cada coeficiente. Sin embargo, todos estos métodos conocidos producen un gasto significativo de bits, o un sacrificio significativo en la precisión de cuantificación de los valores de los coeficientes. Uno de estos métodos está descrito en un documento titulado "High-Quality Audio Transform Coding at 128 Kbits/s", Davidson, G., Fielder, L., and Antill, M., of Dolby Laboratories, Inc., ICASSP, pp 1117-1120, Abril 3-6, Albuquerque, New Mexico (1990) (denominado aquí el "documento Dolby").
Según este método, los coeficientes de transformación se agrupan para formar bandas, con los anchos de las bandas determinados por análisis crítico de banda. Esto se revela por ejemplo en la EP-A-421259. Los coeficientes de transformación dentro de una banda se convierten en una representación en coma flotante de bloque de banda (exponente y mantisa). Los exponentes proporcionan una estimación de la envolvente de log-espectral del encuadre de audio bajo examen, y son transmitidos como información secundaria al descodificador.
La envolvente de log-espectral es utilizada por una rutina de asignación dinámica de bits que deriva información progresivamente para un cuantificador adaptable de coeficiente. Se asigna a cada encuadre el mismo número de bits, N. La rutina de asignación dinámica de bits utiliza solamente el exponente de la amplitud espectral máxima en cada banda para incrementar la resolución del cuantificador para las bandas psicoacústicamente relevantes. Cada mantisa de banda se cuantifica a una resolución de bits definida por la suma de un componente aproximado de bits fijos y un componente fino, dinámicamente asignado. El componente de bits fijos se establece típicamente sin tener en cuenta el encuadre particular, pero más bien teniendo en cuenta el tipo de señal y la parte del encuadre en cuestión. Por ejemplo, las bandas de frecuencia más baja pueden recibir generalmente más bits como consecuencia del componente de bits fijos. El componente dinámicamente asignado se basa en el exponente máximo para la banda. Los datos de estimación de log-espectral son transmitidos en múltiple con los bits de mantisa adaptable para la transmisión al descodificador.
Así, el método realiza un análisis aproximado de la amplitud máxima de un coeficiente dentro de una banda de la señal, y utiliza esta estimación aproximada para asignar el número de bits a esta banda. La estimación aproximada comunica solamente la parte integral de la potencia de 2 del coeficiente. Por ejemplo, si el coeficiente es siete, la estimación aproximada determina que el coeficiente máximo en la banda se encuentra entre 2^{2} y 2^{3} (cuatro y ocho), o, si es de veinticinco, que se encuentra entre 2^{4} y 2^{5} (dieciséis y treinta y dos). La estimación aproximada (que es una estimación inexacta) provoca dos problemas: la asignación de bits no es precisa; los bits asignados no se utilizan eficazmente, ya que el rango de valores para cualquier coeficiente dado no es conocido de forma exacta. En el procedimiento anterior, cada coeficiente en una banda está especificado al mismo nivel de precisión que otros coeficientes en la banda. Además, la información con respecto a los coeficientes de amplitud máxima en las bandas está codificada en dos etapas: primera, los exponentes se codifican y son transmitidos como información secundaria; segunda, la mantisa se transmite junto con las mantisas para los demás coeficientes.
Además de determinar cuántos bits deben asignarse a cada coeficiente para codificar esta amplitud de coeficiente, un método de codificación debe dividir también el rango entero de amplitudes entre un número de divisiones de amplitudes tal como se muestra en 108 en la Fig. 4A, y asignar un código a cada división, en el 109. El número de bits en el código es igual al número de bits asignado a cada coeficiente. Las divisiones se denominan típicamente "niveles de cuantificación", porque las amplitudes reales son cuantificadas en niveles disponibles o "niveles de reconstrucción" después de la codificación, transmisión o almacenamiento y descodificación. Por ejemplo, si tres bits están disponibles por cada coeficiente, pueden ser identificados 2^{3} u ocho niveles de reconstrucción.
La Fig. 5 muestra un esquema sencillo para asignar una palabra clave de tres bits a cada una de las ocho regiones de amplitud entre 0 y 100. La palabra clave 000 está asignada a todos los coeficientes cuya amplitud transformada, como muestra la Fig. 3, se encuentra entre 0 y 12,5. Así, todos los coeficientes entre 0 y 12,5 están cuantificados al mismo valor, típicamente el valor medio de 6,25. La palabra clave 001 está asignada a todos los coeficientes entre 12,5 y 25,0, que están todos cuantificados al valor de 18,75. De forma similar, la palabra clave 100 está asignada a todos los coeficientes entre 50,0 y 62,5, todos cuantificados al valor de 56,25. En lugar de asignar palabras claves de longitud uniforme a los coeficientes, con niveles uniformes de cuantificación, se conoce también la asignación de palabras claves de longitud variable para codificar cada coeficiente, y aplicar los niveles no uniformes de cuantificación a los coeficientes codificados.
También es útil la determinación de un nivel de enmascaramiento. El nivel de enmascaramiento se refiere a la percepción humana de las señales acústicas. Para una señal acústica dada, es posible calcular aproximadamente el nivel de distorsión de la señal (por ejemplo, el ruido de cuantificación) que no será oído o percibido, debido a la señal. Esto es útil en varias aplicaciones. Por ejemplo, puede ser tolerada alguna distorsión de señal sin que la escucha humana lo advierta. El nivel de enmascaramiento puede utilizarse así en la asignación de los bits disponibles a distintos coeficientes.
El proceso básico entero de digitalización de una señal audio, y la sintetización de una señal audio a partir de los datos digitales codificados se muestra de forma esquemática en la Fig. 4A y el aparato básico se muestra de forma esquemática en la Fig. 4B. Una señal audio, como música, conversación, ruido de tráfico, etc., es obtenida en 99 por un dispositivo conocido, como un micrófono. La señal audio x(t) está muestreada en 102, tal como se describe anteriormente y tal como se muestra en la Fig. 2. La señal muestreada x(n) está representada con ventanas en 104 y transformada en 106. Después de la transformación (que puede ser una representación de sub-bandas), los bits están asignados en 107 entre los coeficientes, y las amplitudes de los coeficientes están cuantificadas en 108 mediante la asignación de cada una a un nivel de reconstrucción y estos puntos cuantificados están codificados en 109 por palabras claves binarias. En este punto, los datos son transmitidos en 112 a través de un canal de comunicaciones o a un dispositivo de almacenamiento.
Los pasos anteriores, 102, 104, 106, 107, 108, 109 y 112 se desarrollan en hardware que se denomina generalmente el "transmisor", como se muestra en 150 en la Fig. 4B. El transmisor incluye típicamente un codificador de señales (también denominado codificador) 156 y puede incluir otros elementos que preparan además la señal codificada para su transmisión en un canal 160. Sin embargo, todos los pasos mencionados anteriormente tienen lugar generalmente en el codificador, que puede incluir por sí mismo múltiples componentes.
Eventualmente, los datos son recibidos por un receptor 164 al otro extremo del canal de datos 160, o son recuperados desde el dispositivo de memoria. Como bien se sabe, el receptor incluye un descodificador 166 que es capaz de invertir el proceso de codificación del codificador de señales 156 con una precisión razonable. El receptor típicamente incluye también otros elementos, no mostrados, para invertir el efecto de los elementos adicionales del transmisor que preparan la señal codificada para la transmisión en el canal 160. El descodificador de señales 166 está provisto de una tabla de palabras claves, que pone en correlación las palabras claves con los niveles de reconstrucción. Los datos se descodifican 114 desde valores binarios en valores cuantificados de amplitud de reconstrucción. Se aplica una transformada inversa 116 a cada conjunto de valores cuantificados de amplitud, lo que produce una señal que es similar a un encuadre de x(n), es decir, que se encuentra en el dominio temporal, y que se constituye de un número discreto de valores, para cada resultado inverso transformado. Sin embargo, la señal no será exactamente la misma que el encuadre correspondiente de x(n), debido a la cuantificación dentro de los niveles de reconstrucción y a la representación específica utilizada. La diferencia entre el valor original y el valor del nivel de reconstrucción típicamente no se puede recuperar. Un flujo de encuadres inversos transformados está combinado 118, y se reproduce una señal audio 120, mediante la utilización de un aparato conocido, como un convertidor de D/A y un altavoz audio.
Objetos de la invención
Así, los distintos objetos de la invención incluyen proporcionar un método y un aparato para codificar y descodificar las señales digitales de tipo audio: que permita una asignación eficaz de bits de modo que en general se utilicen menos bits para especificar los coeficientes de magnitud más pequeña que los que se utilizan para especificar coeficientes más grandes; que prevea una cuantificación de la amplitud de los coeficientes de modo que las bandas que incluyen coeficientes más grandes se dividan en niveles de reconstrucción de forma diferente de las bandas que incluyan solamente coeficientes más pequeños, de modo que los coeficientes tanto más pequeños como más grandes puedan especificarse con más precisión que si se utilizaran los mismos niveles de reconstrucción para todos los coeficientes; que permita la estimación precisa del nivel de enmascaramiento; que permita la asignación eficaz de bits basándose en el nivel de enmascaramiento; que localice sólidamente los errores en las pequeñas partes de los datos digitalizados, y, con respecto a estos datos, que limite el error a un pequeño rango conocido; y que minimice la necesidad de codificar de forma redundante los coeficientes, permitiendo todo ello una utilización altamente eficaz de los bits disponibles.
Breve descripción de la invención
De acuerdo con la invención se proporcionan los métodos que establecen las reivindicaciones 1 y 24.
En un primer ejemplo preferido, la aplicación muestra un método para codificar un aspecto seleccionado de una señal definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho método los pasos de: dividir la señal en al menos una banda, teniendo al menos una de dichas al menos una banda, una pluralidad de elementos de señal adyacentes; en al menos una banda, identificar un elemento de señal que tenga una magnitud con un tamaño preseleccionado en relación con otros elementos de señal en dicha banda y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; y codificar el emplazamiento de al menos un elemento de señal criterio con respecto a su posición en dicha banda respectiva.
En un segundo ejemplo preferido, la aplicación muestra un método para descodificar un código que representa un aspecto seleccionado de una señal definida por los elementos de señal que son discretos en al menos una dimensión, que ha sido codificado por un método que comprende los pasos de: dividir la señal en al menos una banda, teniendo al menos una de dichas al menos una bandas, una pluralidad de elementos de señal adyacentes; en al menos una banda, identificar un elemento de señal que tenga una magnitud con un tamaño preseleccionado en relación con otros elementos de señal en dicha banda y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; codificar el emplazamiento de al menos un elemento de señal criterio con respecto a su posición en dicha banda respectiva; y utilizar una función de dicho emplazamiento codificado de dicho al menos un elemento de señal criterio para codificar dicho aspecto seleccionado de dicha señal; comprendiendo dicho método de descodificación el paso de traducir dicho aspecto codificado de dicha señal basada en una función del emplazamiento de dicho elemento de señal criterio que está relacionado adecuadamente de forma inversa con dicha función del emplazamiento utilizado para codificar dicho aspecto seleccionado de dicha señal.
En un tercer ejemplo preferido, la aplicación muestra un aparato para codificar un aspecto seleccionado de una señal que es definido por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho aparato: los medios para dividir la señal en al menos una banda, teniendo al menos una de dichas al menos una bandas, una pluralidad de elementos de señal adyacentes; en al menos una banda, los medios para identificar un elemento de señal que tenga una magnitud con un tamaño preseleccionado en relación con otros elementos de señal en dicha banda y los medios para designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; los medios para codificar el emplazamiento de al menos un elemento de señal criterio con respecto a su posición en dicha banda respectiva; y los medios para cuantificar la magnitud de dicho al menos un elemento de señal criterio para el cual se codificó el emplazamiento.
En un cuarto ejemplo preferido, la aplicación muestra un aparato para descodificar un código que representa un aspecto seleccionado de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, que ha sido codificado por un método que comprende los pasos de: dividir la señal en al menos una banda, teniendo al menos una de dichas al menos una bandas, una pluralidad de elementos de señal adyacentes; en al menos una banda, identificar un elemento de señal que tenga una magnitud con un tamaño preseleccionado en relación con otros elementos de señal en dicha banda y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; codificar el emplazamiento de al menos un elemento de señal criterio con respecto a su posición en dicha banda respectiva; y utilizar una función de dicho emplazamiento codificado de dicho al menos un elemento de señal criterio para codificar dicho aspecto seleccionado de dicha señal; comprendiendo dicho aparato de descodificación los medios para traducir dicho aspecto codificado de dicha señal basada en una función del emplazamiento de dicho elemento de señal criterio que está relacionado adecuadamente de forma inversa con dicha función del emplazamiento utilizado para codificar dicho aspecto seleccionado de dicha señal.
En un quinto ejemplo preferido, la aplicación muestra un método para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho método los pasos de: dividir la señal en una pluralidad de bandas, al menos una banda que tenga una pluralidad de elementos de señal adyacentes; en cada banda, identificar un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; cuantificar la magnitud de cada elemento de señal criterio hasta un primer grado de precisión; y asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio, siendo elegida dicha asignación de bits de elementos de señal de modo que la cuantificación de dicho elemento seleccionado de señal que utiliza dicha asignación de bits de elementos de señal se encuentre en un segundo grado de precisión, lo que es menos que dicho primer grado de precisión.
En un sexto ejemplo preferido, la aplicación muestra un método para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho método los pasos de: dividir la señal en una pluralidad de bandas, al menos una banda que tenga una pluralidad de elementos de señal adyacentes, incluyendo una de dichas bandas dicho elemento seleccionado de señal; en cada banda, identificar un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; cuantificar la magnitud de cada elemento de señal criterio solamente una vez; y asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio.
En un séptimo ejemplo preferido, la aplicación muestra un método de descodificación de un elemento seleccionado de señal que ha sido codificado por uno de los métodos preferidos mencionados anteriormente, comprendiendo dicho método de descodificación el paso de traducir una palabra clave generada por el método de codificación basado en una función de las magnitudes cuantificadas de dichos elementos de señal criterio que está relacionada adecuadamente de forma inversa con dicha función de las magnitudes cuantificadas utilizadas para asignar los bits a dicho elemento seleccionado de señal.
En un octavo ejemplo preferido, la aplicación muestra un aparato para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho aparato: los medios para dividir la señal en una pluralidad de bandas, al menos una banda que tenga una pluralidad de elementos de señal adyacentes, incluyendo una de dichas bandas dicho elemento seleccionado de señal; los medios para identificar en cada banda, un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; los medios para cuantificar la magnitud de cada elemento de señal criterio hasta un primer grado de precisión; los medios para asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio, siendo elegida dicha asignación de bits de elementos de señal de modo que la cuantificación de dicho elemento seleccionado de señal que utiliza dicha asignación de bits de elementos de señal se encuentre en un segundo grado de precisión, lo que es menos que dicho primer grado de precisión.
En un noveno ejemplo, la aplicación muestra un aparato para descodificar una palabra clave que representa un elemento seleccionado de señal de una señal que ha sido codificada por un método mencionado anteriormente, comprendiendo el aparato los medios para traducir dicha palabra clave basada en una función de las magnitudes cuantificadas de dichos elementos de señal criterio que está relacionada adecuadamente de forma inversa con dicha función de las magnitudes cuantificadas utilizadas para asignar los bits a dicho elemento seleccionado de señal.
En un décimo ejemplo, la aplicación muestra un método para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho método los pasos de: dividir la señal en una pluralidad de bandas, teniendo al menos una banda una pluralidad de elementos de señal adyacentes; en cada banda, identificar un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; cuantificar la magnitud de cada elemento de señal criterio hasta un primer grado de precisión; y asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio, siendo elegida dicha asignación de bits de elementos de señal de modo que la cuantificación de dicho elemento seleccionado de señal que utiliza dicha asignación de bits de elementos de señal se encuentre en un segundo grado de precisión, lo que es menos que dicho primer grado de precisión.
En un undécimo ejemplo preferido, la aplicación muestra un método para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho método los pasos de: dividir la señal en una pluralidad de bandas, teniendo al menos una banda una pluralidad de elementos de señal adyacentes; incluyendo una de dichas bandas dicho elemento seleccionado de señal; en cada banda, identificar un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; cuantificar la magnitud de cada elemento de señal criterio solamente una vez; y asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio.
En un duodécimo ejemplo preferido, la aplicación muestra un método de descodificación de un elemento seleccionado de señal que ha sido codificado por uno de los métodos preferidos mencionados anteriormente, comprendiendo dicho método de descodificación el paso de traducir una palabra clave generada por el método de codificación basado en una función de las magnitudes cuantificadas de dichos elementos de señal criterio que está relacionada adecuadamente de forma inversa con dicha función de las magnitudes cuantificadas utilizadas para asignar los bits a dicho elemento seleccionado de señal.
En un decimotercero ejemplo preferido, la aplicación muestra un aparato para codificar un elemento seleccionado de señal de una señal que es definida por los elementos de señal que son discretos en al menos una dimensión, comprendiendo dicho aparato: los medios para dividir la señal en una pluralidad de bandas, teniendo al menos una banda una pluralidad de elementos de señal adyacentes; incluyendo una de dichas bandas dicho elemento seleccionado de señal; los medios para identificar. en cada banda, un elemento de señal que tenga la mayor magnitud de cualquier elemento de señal en dicha banda, y designar dicho elemento de señal como elemento de señal "criterio" para dicha banda; los medios para cuantificar la magnitud de cada elemento de señal criterio hasta un primer grado de precisión; los medios para asignar a dicho elemento seleccionado de señal una asignación de bits de elementos de señal que es una función de las magnitudes cuantificadas de dichos elementos de señal criterio, siendo elegida dicha asignación de bits de elementos de señal de modo que la cuantificación de dicho elemento seleccionado de señal que utiliza dicha asignación de bits de elementos de señal se encuentre en un segundo grado de precisión, lo que es menos que dicho primer grado de precisión.
En un decimocuarto ejemplo preferido, la aplicación muestra un aparato para descodificar una palabra clave que representa un elemento seleccionado de señal de una señal que ha sido codificada por un método mencionado anteriormente, comprendiendo el aparato los medios para traducir dicha palabra clave basada en una función de las magnitudes cuantificadas de dichos elementos de señal criterio que está relacionada adecuadamente de forma inversa con dicha función de las magnitudes cuantificadas utilizadas para asignar los bits a dicho elemento seleccionado de señal.
Breve descripción de las figuras
La Fig. 1, muestra de forma esquemática una señal de tipo audio.
La Fig. 2, muestra de forma esquemática una señal de tipo audio que ha sido muestreada.
La Fig. 3, muestra de forma esquemática el espectro de una señal de tipo audio transformada desde el dominio temporal en dominio de frecuencia.
La Fig. 4A, muestra de forma esquemática el procesamiento digital de una señal de tipo audio de acuerdo con unos métodos conocidos.
La Fig. 4B, muestra de forma esquemática los elementos de hardware de un sistema de procesamiento de señales digitales.
La Fig. 5, muestra de forma esquemática la división de la amplitud de los coeficientes en niveles de reconstrucción, y la asignación de palabras claves a los mismos, de acuerdo con los métodos conocidos en el arte anterior.
La Fig. 6, muestra de forma esquemática la división de un espectro de señales de tipo audio en bandas de frecuencia de acuerdo con el arte anterior.
La Fig. 7, muestra de forma esquemática el espectro de la Fig. 6, después de la aplicación de una operación de adaptación a la escala, posteriormente designado coeficientes criterio dentro de las bandas.
La Fig. 7A, muestra de forma esquemática cómo se utilizan los coeficientes criterio para establecer una evaluación aproximada de | X(k) |^{\alpha}.
La Fig. 8, muestra de forma esquemática la división de la amplitud de coeficientes en diferentes bandas en distintos niveles de reconstrucción, de acuerdo con el método de la invención.
La Fig. 9A, muestra de forma esquemática una elección para la asignación de los niveles de reconstrucción a un coeficiente que puede tener solamente un valor positivo.
La Fig. 9B, muestra de forma esquemática otra elección para la asignación de los niveles de reconstrucción a un coeficiente que puede tener solamente un valor positivo.
La Fig. 10A, muestra de forma esquemática una elección para la asignación de los niveles de reconstrucción a un coeficiente que puede tener un valor positivo o un valor negativo.
La Fig. 10B, muestra de forma esquemática otra elección para la asignación de los niveles de reconstrucción a un coeficiente que puede tener un valor positivo o un valor negativo.
La Fig. 11, muestra de forma esquemática cómo las magnitudes de los coeficientes criterio pueden utilizarse para asignar el número de bits para una banda.
La Figuras 12A, 12B y 12C, muestra de forma esquemática los pasos del método de la invención.
Las Figuras 13A y 13B, muestra de forma esquemática los componentes del aparato de la invención.
Descripción detallada de las realizaciones preferidas de la invención
Un primer ejemplo preferido de la aplicación muestra un método de asignación de los bits a los coeficientes individuales, para la codificación de la magnitud (es decir, el valor absoluto de la amplitud) de estos coeficientes. Según el método de la aplicación, se obtiene una señal audio x(t) como en la Fig. 4A en 99, y se muestrea a una velocidad adecuada, como de 48kHz como en 102, lo que resulta en x(n). La señal muestreada se representa en ventanas y se transforma, como en 104 y 106, de acuerdo con una técnica conocida, adecuada, como TDAC o DCT, mediante la utilización de una ventana apropiada de un tamaño típico, por ejemplo 512 ó 1024 muestras. Se entenderá que otras técnicas de transformación y de representación en ventanas se encuentran en el alcance de la presente invención. El resultado es un espectro de elementos de señal de coeficientes en el dominio de la frecuencia, como se muestra en la Fig. 3. Tal como se utiliza aquí, la frase "elementos de señal" significa las partes de una señal, en general. Pueden ser las partes muestreadas de una señal no transformada, o los coeficientes de una señal transformada, o una señal entera. Los pasos del método se muestran de forma esquemática en el diagrama de proceso en las Figuras 12A, 12B y 12C.
Un aspecto importante del método de la invención es el método por el cual el número total de bits N está asignado entre el número total de coeficientes, C. Según el método de la invención, el número de bits asignado tiene una correlación estrecha con la amplitud del coeficiente que se vaya a codificar.
El primer paso del método consiste en dividir el espectro de los coeficientes de transformación en X(k) entre un número B de bandas, de modo que B sea igual a dieciséis o veintiséis. Este paso se indica en 600 en la Fig. 12A. No es necesario que cada banda incluya el mismo número de coeficientes. De hecho, puede resultar deseable incluir más coeficientes de frecuencia en algunas bandas, como unas bandas de más alta frecuencia, que en otras bandas de más baja frecuencia. En este caso, es provechoso seguir aproximadamente el resultado crítico de la banda. Un ejemplo del espectro X(k) (para X(k) con valores reales) se muestra de forma esquemática en la Fig. 6, dividido en bandas. Otros espectros típicos pueden mostrar una diferencia más marcada en el número de coeficientes por banda, típicamente con relativamente más coeficientes en las bandas más altas más que en las bandas más bajas.
Si el número de coeficientes de frecuencia en cada banda no es uniforme, entonces el modelo de ancho de banda de cada banda debe ser conocido o comunicado a los elementos de descodificación del aparato en esta aplicación. El modelo no uniforme puede ser establecido, y almacenado en la memoria accesible por el descodificador. Sin embargo, si el ancho de banda de las bandas varia "al vuelo", basándose en las características locales, entonces el descodificador debe estar al corriente de estas variaciones, típicamente, mediante un mensaje explícito que indique el modelo.
Como se muestra en la Fig. 6, el espectro se divide en muchas bandas, b_{1}, b_{2}, ... b_{B}, indicadas por un pequeño cuadrado oscuro entre las bandas. Es útil, como se explica a continuación, que cada banda se componga de un número de coeficientes que iguale una potencia de dos. En este punto, es posible también ignorar las frecuencias que no sean de interés, por ejemplo porque sean demasiado altas para ser distinguidas por una escucha humana.
Puede resultar útil, aunque no necesario para la invención, analizar los coeficientes del espectro en un dominio donde las magnitudes del espectro están comprimidas a través de una representación no lineal, tal como la elevación de cada magnitud a un exponente fraccionario \alpha, como 1/2, o una transformación logarítmica. El sistema auditivo humano parece realizar algún tipo de compresión de amplitud. Asimismo, la representación no lineal como la compresión de la amplitud tiende a conducir a una distribución más uniforme de las amplitudes, de modo que un cuantificador uniforme sea más eficaz. La representación no lineal seguida de la cuantificación uniforme es un ejemplo de la bien conocida cuantificación no uniforme.
Este paso de representación no lineal viene indicada en 602 en la Fig. 12A. El espectro transformado se muestra en la Fig. 7, que difiere de la Fig. 6, en la escala vertical.
En cada banda del espectro a escala exponencial, el coeficiente Cb_{1}, Cb_{2}, ... Cb_{B} que tiene la magnitud más amplia (ignorando el signo) es designado "coeficiente criterio". Este paso se indica en 608 en la Fig. 12A. Los coeficientes criterio están indicados en la Fig. 7 por un rectángulo que encierra el principio del marcador del coeficiente. (En otra realización preferida, que se expone más adelante, más que designar el coeficiente que posee el coeficiente máximo en la banda como coeficiente criterio, se puede designar otro coeficiente como criterio. Este otro coeficiente puede ser el que tiene una amplitud mediana o media en la banda, o una alta, pero no la magnitud más amplia en la banda, tal como la segunda o tercera más alta. La realización que designa el coeficiente máximo de amplitud como criterio, es el ejemplo predominante que se expone más abajo, y que se expone primero).
El método de la invención implica varias realizaciones. De acuerdo con cada una, la magnitud de los coeficientes criterio se utiliza para asignar los bits eficazmente entre los coeficientes, y también para establecer el número y colocación de los niveles de reconstrucción. Estas distintas realizaciones se exponen en detalle más abajo, y están indicadas en las Figs. 12A y 12B. Las realizaciones más específicas incluyen: dividir posteriormente el espectro X(k) en bandas partidas en 612; cuantificar con precisión el emplazamiento y el signo de los coeficientes criterio en 614; y realizar varias transformaciones en estos coeficientes cuantificados en 616, 618 y 620 antes de transmitir los datos al descodificador. Sin embargo, el método básico de la invención en su ejecución más amplia no emplea bandas partidas, pasando así del paso de la decisión de banda partida 610 al paso de la decisión de cuantificación 614. En el método básico, se utiliza solamente la magnitud de los coeficientes criterio, y así el método pasa del paso de la decisión de cuantificación 614 al paso de la decisión de transformación de la magnitud 622. Las magnitudes necesitan no ser transformadas en esta etapa, y así, el método básico pasa directamente al paso 624, donde la magnitud de los coeficientes criterio está cuantificada con precisión dentro de los niveles de reconstrucción.
La magnitud de cada uno de los coeficientes criterio está cuantificada con mucha precisión, en los casos típicos, de forma más precisa que lo es la magnitud de los coeficientes no-criterio. En algunos casos, esta versión precisa es manifiesta al utilizar más bits para codificar un coeficiente criterio (como promedio) que para codificar un coeficiente no-criterio (como promedio). Sin embargo, como se explica más abajo con respecto a un paso de transformación criterio solamente realizado en el paso 622, esto puede no ser el caso. En general, la precisión más alta de los criterios (como promedio) se caracteriza por una divergencia más pequeña entre el valor original del coeficiente y el valor cuantificado, si se compara con la divergencia entre los mismos dos valores para un coeficiente no-criterio (como promedio).
Después de la cuantificación, los coeficientes criterio son codificados en palabras claves en 626 (Fig. 12B) y transmitidos en 628 al receptor. El esquema de codificación puede ser sencillo, tal como aplicar la representación digital de la posición del nivel de reconstrucción en un conjunto ordenado de niveles de reconstrucción, desde la amplitud más baja hasta la más alta. Como alternativa, se puede utilizar un esquema de codificación más complicado, tal como la utilización de un libro de claves. Como en el caso con el receptor del arte anterior, el aparato de la invención incluye un receptor que tiene un descodificador equipado para invertir los procesos de codificación ejecutados por el aparato de codificación. Si se utiliza una técnica sencilla de codificación, el receptor puede simplemente invertir la técnica. Como alternativa, puede proporcionarse un libro de claves, que pone en correlación las palabras claves asignadas a los coeficientes criterio con los niveles de reconstrucción. Como los coeficientes criterio están cuantificados con mucha precisión, cuando se traducen las palabras claves y se reconstruyen los coeficientes, se encuentran muy cerca de los valores originales. (El paso siguiente 632 mostrado en la Fig. 12B se ejecuta solamente si uno de los pasos de transformación 616, 618 ó 620 de la Fig. 12A ha sido realizado. Las realizaciones en las cuales se llevan a cabo estos pasos están expuestas a continuación).
Las magnitudes cuantificadas con precisión de los coeficientes criterio se utilizan para asignar los bits entre los coeficientes restantes en la banda. Como, en esta primera realización expuesta, cada coeficiente criterio es el coeficiente de mayor magnitud en la banda a la que pertenece, se sabe que todos los demás coeficientes en la banda tienen una magnitud inferior o igual a la del coeficiente criterio. Además, la magnitud del coeficiente criterio es conocida también con mucha precisión. Así, se sabe cuántos coeficientes deben ser codificados en la banda que tiene el mayor rango de amplitud, el siguiente más grande, el más pequeño, etc. Los bits pueden ser asignados eficazmente entre las bandas basándose en este conocimiento.
Existen muchas formas para poder asignar los bits. Dos métodos generales significativos son: asignar los bits a cada banda, y luego a cada coeficiente en la banda; o asignar los bits directamente a cada coeficiente sin asignar previamente los bits a cada banda. De acuerdo con una realización del primer método general, inicialmente, el número de bits asignado a cada banda individual está determinado en 634. Más coeficientes en una banda resultará generalmente en más bits necesarios para codificar todos los coeficientes de aquella banda. De forma similar, una magnitud media más amplia | X(k) |^{\alpha} de los coeficientes en la banda resultará en más bits necesarios para codificar todos los coeficientes de aquella banda. Así, se determina una medida aproximada del "tamaño" de cada banda, definiéndose "tamaño" en términos del número de coeficientes y la magnitud de los coeficientes, y luego los bits disponibles se asignan entre las bandas de acuerdo con sus tamaños relativos, obteniendo las bandas más grandes más bits, y las bandas más pequeñas menos bits.
Por ejemplo, como muestra la Fig. 7A, para una valoración muy aproximada, se puede asumir que la magnitud de cada coeficiente es la misma que el criterio para aquella banda. Esto viene indicado en la Fig. 7A mediante una caja de fuerte rayado cruzado, que tiene una magnitud igual al valor absoluto de la amplitud del coeficiente criterio. Como se puede entender a partir de una comparación de la Fig. 7 con la Fig. 7A, con el fin de obtener una estimación aproximada para el tamaño de cada banda, se asume que todos los coeficientes son positivos. Conociendo el número de coeficientes en cada banda, es posible establecer un límite superior para el tamaño de la banda. En un sentido informal, este análisis es similar para determinar el contenido de energía de la banda, si se compara con el contenido de energía total del encuadre. Una vez determinados los tamaños relativos, se aplican unas técnicas bien conocidas para asignar los bits disponibles entre las bandas de acuerdo con los tamaños estimados. Se expone una técnica en Lim, J.S., Two Dimensional Signal and Image Processing, Prentice Hall, Englewood Cliffs, New Jersey (1990), p. 598. La experiencia puede mostrar también que es provechoso asignar los bits entre las bandas al asumir que la magnitud media | X(k) |^{\alpha} de cada coeficiente no-criterio es igual a alguna otra fracción de la magnitud del criterio, tal como la mitad. Esto se muestra en la Fig. 7A a través de las cajas de rayado cruzado menos fuerte que atraviesa las bandas de la señal. Debe observarse que las zonas con fuerte rayado cruzado se extienden a lo largo del eje de frecuencias, aunque la parte inferior esté oscurecida por las zonas de rayado cruzado menos fuerte.
También es posible ajustar la estimación al tamaño de la banda según el número de coeficientes (también conocidos por muestras de frecuencias) en la banda. Por ejemplo, cuanto más coeficientes, menos probable es que la magnitud media sea igual a la magnitud del coeficiente criterio. En cualquier caso, una estimación aproximada del tamaño de la banda facilita una asignación apropiada de los bits a esta banda.
Dentro de cada banda, los bits están asignados en 636 entre los coeficientes. Típicamente, los bits están asignados uniformemente, sin embargo, puede aplicarse cualquier regla razonable. Debe observarse que las magnitudes de los coeficientes criterio ya han sido cuantificadas, codificados y transmitidos y que no necesitan ser cuantificados, codificados o transmitidos de nuevo. De acuerdo con el arte anterior expuesto en el documento Dolby, los aspectos de los coeficientes utilizados para realizar un análisis aproximado de la magnitud máxima de un coeficiente dentro de una banda, están codificados en dos etapas distintas; primero con respecto al exponente y segundo con respecto a la mantisa.
Como se menciona anteriormente, más que asignar los bits entre las bandas, y luego asignar los bits entre los coeficientes en cada banda, también es posible utilizar la estimación de | X(k) |^{\alpha} para asignar los bits a los coeficientes directamente sin el paso intermedio de asignar los bits a las bandas. De nuevo, la estimación aproximada | X(k) |^{\alpha} se utiliza para proporcionar una estimación aproximada para la magnitud de cada coeficiente. Como se ilustra en la Fig. 7A, la estimación aproximada para la magnitud de cada coeficiente puede ser la magnitud del coeficiente criterio, o la mitad de esta magnitud, o algún otro método razonable. (Como se expone más abajo, es posible una estimación más complicada, todavía más útil, si la información con respecto al emplazamiento de los coeficientes criterio es anotada y codificada con precisión). A partir de la estimación de la magnitud de cada uno de los coeficientes, puede realizarse una estimación de la magnitud o tamaño total de la señal, como se menciona más arriba, y la relación del tamaño del coeficiente con respecto al tamaño total se utiliza como base para asignar un número de bits al coeficiente. La técnica general se expone en Lim, J.S., citada anteriormente, pág. 598.
Debido a la cuantificación exacta de los coeficientes criterio, la presente invención da como resultado una asignación más apropiada de bits a los coeficientes en cada banda que lo hace el método descrito en el documento Dolby del arte anterior. Consideren, por ejemplo, las dos bandas b_{4} y b_{5} (Fig. 8), que poseen los coeficientes criterio 742 y 743, respectivamente, con las magnitudes de nueve y quince, respectivamente. De acuerdo con el método del arte anterior, cada coeficiente criterio es cuantificado de forma aproximada, mediante la codificación solamente del exponente del criterio, y esta cuantificación aproximada se utiliza para asignar los bits a todos los coeficientes en la banda del criterio. Así, el coeficiente criterio 742, que posee un valor de nueve, sería cuantificado por el exponente "3", ya que cae entre 2^{3} y 2^{4}. Como quince es el número máximo que podría tener este exponente, se asigna a la banda en la que cae el coeficiente criterio 742 los bits como si el valor máximo para cualquier coeficiente fuera de quince.
Además, de acuerdo con el método del arte anterior, el coeficiente criterio 743, que posee un valor de quince, sería cuantificado también por el exponente "3", ya que cae también entre 2^{3} y 2^{4}. Así, se asigna también a la banda en la que cae el coeficiente criterio 743 los bits como si el valor máximo para cualquier coeficiente fuera de quince. De este modo, aunque las dos bandas tengan coeficientes criterio significativamente distintos, se asigna a cada coeficiente el mismo número de bits. A efectos de ilustración, se puede asumir que se asigna a cada coeficiente en las dos bandas cuatro bits para la cuantificación.
Por el contrario, según el método de la invención, debido a que los coeficientes criterio son cuantificados con mucha precisión, el coeficiente criterio 743, que tiene un valor de quince, es cuantificado a quince, o muy cerca de quince si se dispone de muy pocos bits. Además, el coeficiente criterio 742, que tiene un valor de nueve, se cuantifica en nueve, o muy cerca de nueve. Así, se asignará a los coeficientes en la banda b_{4} un número distinto de bits del que se asignará a los coeficientes en la banda b_{5}. A efectos de ilustración, se puede asumir que se asigna a cada coeficiente en la banda b_{5}, que tienen un criterio de magnitud quince, cinco bits, mientras que se asigna a cada coeficiente en la banda b_{4}, que tienen solamente un criterio de nueve, solo tres bits.
La comparación de la asignación de bits del método de la invención con el método del arte anterior muestra que la asignación de acuerdo con el método de la invención es mucho más adecuado. Para la banda b_{5}, se dispone de más bits (cinco en comparación con cuatro) de modo que la cuantificación será más precisa. Para la banda b_{4}, se utilizan menos bits (tres en comparación con cuatro), pero sin embargo, como el rango es de hecho más pequeño de lo que puede determinar el método del arte anterior (nueve en comparación con quince), la asignación de bits es más apropiada. Además, como la invención utiliza también la cuantificación de criterio precisa para establecer los niveles de reconstrucción, lo que el método del arte anterior no hace, la precisión relativa lograda es aun mayor, tal como se explica seguidamente.
Una vez se ha asignado a cada coeficiente su parte de bits en 636, la cuantificación muy precisa de los coeficientes criterio puede ser utilizada para dividir todo el rango de la banda adecuadamente y para asignar los niveles de reconstrucción en 638. La Figura 8 muestra la asignación de los niveles de reconstrucción de forma esquemática. Los criterios 743 y 742 de las bandas b_{5} y b_{4} se muestran junto con los coeficientes no-criterio 748 y 746, cayendo el primero en la banda b_{4} y el último en la banda b_{5}, teniendo ambos una magnitud de cinco. Siguiendo con el ejemplo considerado más arriba, se ilustra la asignación de los niveles de reconstrucción de acuerdo con la presente invención y el método del arte anterior. Como, según el arte anterior, se asignó a los coeficientes en ambas bandas el mismo número de bits, cuatro, para los niveles de reconstrucción, cada banda tendrá 2^{4} o dieciséis niveles de reconstrucción. Estos niveles de reconstrucción se muestran de forma esquemática mediante unas escalas idénticas 750 en ambos lados de la figura 8. (Los niveles de reconstrucción son ilustrados con una corta línea en escala que figura en el centro de cada nivel de reconstrucción).
Los niveles de reconstrucción que serían asignados de acuerdo con el método de la invención son bastante diferentes de los del arte anterior, y, de hecho, difieren entre las dos bandas. En el ejemplo, se asignó a la banda b_{5} cinco bits por coeficiente, así que se dispone de 2^{5} o treinta y dos niveles de reconstrucción para cuantificar los coeficientes en esta banda, teniendo un criterio de quince. Estos niveles de reconstrucción se muestran de forma esquemática en la escala 780. Se asignaron a la banda b_{4} solamente tres bits, así que se disponen de 2^{3} u ocho niveles de reconstrucción para la cuantificación de los coeficientes en esta banda, teniendo un criterio de nueve. Estos niveles de reconstrucción figuran en la escala 782.
La comparación de la precisión de ambos métodos muestra que el método de la invención proporciona mayor eficacia que el del arte anterior. Para los coeficientes en la banda b_{5}, los treinta y dos niveles de reconstrucción proporcionados como resultado de la asignación de cinco bits prevé claramente más precisión que la de los dieciséis niveles proporcionados como resultado de la asignación de cuatro bits del arte anterior. Además, todos los treinta y dos niveles de reconstrucción son útiles. Para los coeficientes en la banda b_{4}, los ocho niveles de reconstrucción proporcionados como resultado de la presente invención no proporcionan tantos niveles de reconstrucción como los dieciséis proporcionados por el arte anterior, aunque sin embargo se utilizan todos los ocho niveles de reconstrucción proporcionados, mientras que varios niveles de reconstrucción del arte anterior (los que caen entre nueve y quince) probablemente no puedan ser útiles para esta banda, ya que ningún coeficiente supera el nueve. Así, aunque existan técnicamente más niveles de reconstrucción asignados a esta banda como resultado del método del arte anterior, muchos de ellos no pueden ser utilizados, y el aumento resultante en materia de precisión es pequeño. Los bits que se consumen en la asignación de los niveles de reconstrucción inutilizados podrían utilizarse mejor en la misma banda mediante re-asignación de los niveles de reconstrucción para situarse en el rango exacto conocido, o en otra banda (como la banda b_{5}, en la que el rango máximo es relativamente amplio).
La colocación de los límites entre los niveles de reconstrucción y la asignación de los valores de reconstrucción a los niveles de reconstrucción dentro del rango, puede variar para cumplir con las características específicas de la señal. Si se asignan niveles uniformes de reconstrucción, se pueden colocar como se muestra en la Fig. 9A, en la escala 902 que se extiende en un rango de diez, asignando al nivel más alto de reconstrucción el valor criterio, y asignando a cada nivel más bajo un valor más bajo, reducido en una cantidad igual, según el tamaño del nivel. En este esquema, no se establecerá ningún nivel de reconstrucción en cero. Como alternativa, tal como se muestra en la escala 904, el nivel de reconstrucción más bajo puede establecerse en cero, siendo cada nivel más alto mayor en una cantidad igual. En este caso, no se establecerá ningún nivel de reconstrucción en el criterio. Como alternativa, y de forma más típica, como se muestra en la escala 906, no se cuantificarán exactamente ni el criterio ni el cero, pero cada uno se quedará alejado a la mitad de un nivel de reconstrucción del nivel de reconstrucción más cercano.
Como en el caso de una asignación irregular de bits a los coeficientes en una banda, si se puede aplicar mediante el codificador más de un esquema de reconstrucción, entonces, o bien una señal debe ser transmitida al descodificador junto con los datos que pertenecen a los coeficientes cuantificados indicando el esquema de reconstrucción a utilizar, o el descodificador debe ser construido de modo que en todas las situaciones, reproduzca la distribución necesaria de los niveles de reconstrucción. Esta información sería transmitida o generada de una forma análoga a la forma según la cual la información específica que pertenece al número de coeficientes por banda sería transmitida o generada, tal como se ha expuesto anteriormente.
Más que dividir la amplitud de la banda uniformemente, puede resultar provechoso dividirla en 638 como se muestra en la Fig. 9B, mediante la especificación de los niveles de reconstrucción que incluyen y reconstruyen exactamente tanto el cero como el coeficiente criterio, y mediante la desviación de la distribución de los demás niveles de reconstrucción más hacia el extremo del coeficiente criterio del rango. Como alternativa, los niveles de reconstrucción podrían ser agrupados más cerca del extremo cero del rango, si la experiencia demuestra que es estadísticamente más probable. Así, en general, los niveles de cuantificación pueden ser no-uniformes, adaptados a las características del tipo particular de señal.
Los ejemplos anteriormente mencionados han supuesto implícitamente que el coeficiente criterio es superior a cero y que todos los demás coeficientes son superiores o iguales a cero. Aunque esto puede ocurrir, surgirán muchas situaciones en las cuales uno o ambos supuestos no permanecerán. Con el fin de especificar el signo de los coeficientes no-criterio, son posibles varios métodos. El más básico consiste en ampliar el rango de amplitud de la banda hasta un rango de una magnitud de dos veces la magnitud del coeficiente criterio, y asignar los niveles de reconstrucción 638, como se muestra en la Fig. 10A. Por ejemplo, cualquier coeficiente que caiga en la zona que se extiende entre los valores de amplitud de 2,5 y 5,0, será cuantificado en 640 como 3,75 y se le asignará en 642 la palabra clave "101" de tres bits. Como se entenderá, la precisión de esta disposición es solamente la mitad de ajustada de la que sería posible si fuera solamente necesario cuantificar los coeficientes positivos. Los valores negativos, tales como los que se extienden entre -5,0 y -7,5 también serán cuantificados como -6,25 y se les asignará la palabra clave
"001".
Más que una repartición por igual entre valores positivos y negativos, es posible asignar los niveles de reconstrucción positivos o negativos de forma más ajustada, como muestra la Fig. 10B. En este caso, será necesario proporcionar más niveles de reconstrucción a la parte positiva o a la parte negativa del rango. En la Fig. 10B, la parte positiva posee cuatro niveles plenos de reconstrucción y parte del nivel de reconstrucción está centrado alrededor del cero, mientras que la parte negativa tiene tres niveles plenos de reconstrucción y parte del nivel de reconstrucción centrado en el
cero.
Los ejemplos anteriormente mencionados demuestran que con la cuantificación muy precisa de los criterios, puede establecerse una información de rango muy precisa para una banda particular. En consecuencia, los niveles de reconstrucción pueden ser asignados a una banda particular de forma más apropiada, de modo que los valores reconstruidos estén más cerca de los valores originales. El método del arte anterior da como resultado rangos relativamente más amplios para cualquier banda dada, y por tanto una asignación menos apropiada de los niveles de reconstrucción.
La estimación del nivel de enmascaramiento se mejora también con respecto al arte anterior con la aplicación del método de la invención. La estimación del nivel de enmascaramiento se basa sobre una estimación de la magnitud de los coeficientes | X(k) |^{\alpha}. Como se ha mencionado, en general, para cada coeficiente, el nivel de enmascaramiento es una medida de cuánto ruido, como el ruido de cuantificación, es tolerable en la señal sin que un observador humano lo advierta. En la mayoría de las aplicaciones, las señales de mayor amplitud pueden soportar más ruido sin que se advierta. Además, los factores de la amplitud figuran también en la determinación del nivel de enmascaramiento, tal como la frecuencia y las amplitudes de los coeficientes circundantes. Así, una mejor estimación de | X(k) |^{\alpha}, para cualquier coeficiente dado resulta naturalmente en una mejor estimación de un nivel de enmascaramiento apropiado. El nivel de enmascaramiento se utiliza para sintonizar de forma precisa la asignación de bits a un coeficiente. Si el coeficiente está situado de modo que pueda tolerar una cantidad relativamente alta de ruido de cuantificación, la asignación de bits lo tiene en cuenta, y puede reducir el número de bits que serían asignados a un coeficiente específico (o banda) si se compara con el número que hubiera sido aplicado si el nivel de enmascaramiento no se hubiera tenido en cuenta.
Después de codificar los coeficientes según el método de la invención, el flujo de palabras claves se transmite en 644 al canal de comunicaciones, o dispositivo de almacenamiento, como en el arte anterior que se muestra en la Fig. 4A en 112. Después de la transmisión, las palabras codificadas se transforman de vuelta en una señal audio. Como se muestra en la Fig. 12C, en 660 los coeficientes criterio codificados son cuantificados basándose en la asignación de los niveles de reconstrucción a las palabras claves. Los coeficientes criterio han sido cuantificados con mucha precisión. Así, a la traducción de las palabras claves a niveles reconstruidos, los coeficientes criterio reconstruidos reflejarán con mucha precisión los coeficientes criterio originales.
En 662, se plantea una decisión de realizar o no una transformada DCT inversa (u otra transformada apropiada) para contrarrestar cualquier transformada de tipo DCT (expuesto más abajo) que pueda haber sido aplicada en los pasos 616, 618 ó 620 en el codificador. Si es así, la transformada inversa se aplica en 664. Si no, el método de la invención continúa hacia 666, donde las palabras claves para los coeficientes no-criterio de un único encuadre son traducidas a niveles de cuantificación. Son posibles muchos esquemas diferentes que se exponen más abajo.
El descodificador traduce las palabras claves a niveles de cuantificación mediante la aplicación a la inversa de los pasos realizados en el codificador. A partir de los coeficientes criterio, el codificador dispone del número de bandas y de las magnitudes de los criterios. Tanto a partir de la información secundaria como a partir de la información preestablecida, se conoce también el número de coeficientes no-criterio en cada banda. A partir de lo anterior, los niveles de reconstrucción (número y emplazamientos) pueden ser establecidos por el descodificador mediante la aplicación de la misma regla que la que aplicó el codificador para establecer las asignaciones de bits y niveles de reconstrucción. Si existe solamente una de estas reglas, el descodificador simplemente la aplica. Si existen más de una, el descodificador elige la apropiada, basándose en la información secundaria o en las características intrínsecas de los coeficientes criterio. Si las palabras claves han sido aplicadas a los niveles de reconstrucción de acuerdo con un simple esquema ordenado, como la representación binaria de la posición del nivel de reconstrucción desde el valor aritmético más bajo hasta el más alto, se invierte simplemente aquel esquema para producir el nivel de reconstrucción. Si se aplica un esquema más complicado, como la aplicación de un libro de claves, aquel esquema o libro de claves debe ser accesible al descodificador.
El resultado final es un conjunto de coeficientes cuantificados para cada una de las frecuencias que estaban presentes en el espectro X(k). Estos coeficientes no serán exactamente los mismos que el original, porque alguna información ha sido perdida por la cuantificación. Sin embargo, debido a la asignación más eficaz de bits, una mejor división de rangos, y una estimación de enmascaramiento aumentada, los coeficientes cuantificados son más próximos al original de lo que serían los coeficientes re-cuantificados del arte anterior. (Sin embargo, los coeficientes no-criterio reconstituidos típicamente no se comparan con los coeficientes no-criterio originales de forma tan precisa como los coeficientes criterio re-constituidos comparados con los coeficientes criterio originales). Después de la re-cuantificación, el efecto de la operación de elevar el encuadre al exponente fraccionario \alpha, como 1/2, se pierde en 668 al elevar los valores al exponente inverso 1/\alpha, en este caso, dos. Luego, en 670 la transformada inversa de la transformada de tipo TDAC aplicada en el paso 106 se aplica para transformar la información sobre la frecuencia de vuelta al dominio temporal. El resultado es un segmento de datos, especificado a la velocidad de muestreo de, por ejemplo, 48 kHz. Las ventanas secuenciales (típicamente superpuestas) se combinan en 672 y el audio se sintetiza en 674.
La exposición anteriormente mencionada ha supuesto que solamente la magnitud de los coeficientes criterio estaba codificada en 614, y que ni el emplazamiento del coeficiente criterio dentro de la banda (es decir, el segundo coeficiente a partir del extremo de bajas frecuencias de la banda, el cuarto coeficiente a partir del extremo de bajas frecuencias de la banda, etc.) ni el signo (o fase) estaban codificados. Al codificar el emplazamiento o ambos de estos hechos adicionales, se puede lograr una mejora adicional en la codificación. De hecho, la codificación del emplazamiento proporciona unos ahorros significativos, ya que de lo contrario, sería necesario codificar el coeficiente criterio dos veces: una vez para establecer la estimación de | X(k) |^{\alpha} y otra para su contribución a la señal como coeficien-
te.
Si el emplazamiento del coeficiente criterio no ha sido codificado, sería necesario codificar su magnitud en el flujo de todos los coeficientes, por ejemplo en el paso 624 mostrado en la Fig. 12A. Sin embargo, si los coeficientes criterio están completamente codificados con la magnitud, el emplazamiento y el signo, entonces sus valores codificados pueden ser transmitidos simplemente. Si el emplazamiento no está codificado, el aparato debe transmitir primero las magnitudes de cada criterio, por ejemplo en el paso 628 en la Fig. 12B. Posteriormente, se asignan los bits a cada banda, y a cada coeficiente dentro de la banda, incluido el coeficiente criterio en el paso 636. Si la información sobre el emplazamiento del criterio no ha sido almacenada, el sistema es insensible a la identidad especial del criterio y le asigna los bits en 636, lo cuantifica en un nivel de reconstrucción en 640, lo codifica en 642 y transmite su amplitud en 644. Así, su amplitud se transmite dos veces: primero en 628 y segundo en 644.
Sin embargo, si el emplazamiento está codificado originalmente en 626, cuando el sistema se prepara para asignar los bits al criterio en 636, el coeficiente criterio será identificado como tal, debido a su emplazamiento, y será rebotado, salvando así los bits necesarios para codificar su amplitud. La especificación del emplazamiento de los criterios típicamente mejora solamente la eficacia si se necesitan menos bits para especificar su emplazamiento que para especificar su amplitud. En algunos casos puede resultar provechoso codificar los emplazamientos de ciertos elementos de señal criterios, pero no todos. Por ejemplo, si una banda incluye gran número de coeficientes, puede no resultar ventajoso codificar el emplazamiento del criterio en aquella banda, sin embargo puede seguir siendo provechoso codificar el emplazamiento de un coeficiente criterio en una banda que tenga menos coeficientes. Además, al evaluar la ventaja procedente de la especificación del emplazamiento de los coeficientes criterio, el cálculo adicional probable y quizás las cargas de memoria necesarias en el aparato de codificación y descodificación deben tenerse en cuenta, a la luz del ancho de banda disponible en el canal de datos. Típicamente, el coste es más efectivo si se aceptan cargas computacionales o de memoria más altas que las cargas de banda ancha.
Si en 614 (Fig. 12A) se decide cuantificar el emplazamiento del coeficiente en la banda de forma precisa, serán necesarios unos pocos bits adicionales para especificar y codificar cada coeficiente criterio. Típicamente, el número de coeficientes que estará en cada banda se decide antes de codificar los coeficientes. Esta información es típicamente conocida por el descodificador, aunque sea posible también variar esta información e incluirla en la información secundaria transmitida por el codificador. Así, para cada banda, el emplazamiento del coeficiente criterio puede especificarse exactamente, y es solamente necesario reservar suficientes bits para la información sobre el emplazamiento como los requiere el número de coeficientes en la banda en cuestión. Por esta razón, es provechoso asignar coeficientes a cada banda que tenga una potencia de dos, de modo que no se gaste ningún bit en la especificación del emplazamiento del coeficiente criterio.
Tal como se ha mencionado anteriormente, un método básico para asignar los bits dentro de la banda consiste en asignar un número igual de bits a cada coeficiente no-criterio. Sin embargo, en algunos casos, esto no se puede realizar, por ejemplo cuando el número de bits disponibles no es un número entero múltiplo del número de coeficientes no-criterio. En este caso, frecuentemente es provechoso dar más bits a los coeficientes que están más cerca (en el emplazamiento dentro de la banda) del coeficiente criterio, porque la experiencia ha mostrado que para las señales de tipo audio, los coeficientes adyacentes están a menudo más cerca unos de otros en magnitud que lo están los coeficientes distantes.
Existen varios usos distintos a los cuales se pueden aplicar los bits extra. Por ejemplo, se puede dar más preferencia a los coeficientes que se extienden a la izquierda del coeficiente criterio, es decir de frecuencia más baja que el coeficiente criterio. Esto es en consideración del resultado de enmascaramiento. Típicamente, el impacto de un componente específico de frecuencia en la función de enmascaramiento ocurre con respecto a una zona de frecuencia más alta que la frecuencia en cuestión. Por lo tanto, al dar la preferencia a los coeficientes de frecuencia más baja que el criterio, (que se extienden por lo tanto a la izquierda del criterio en una escala convencional como la que se muestra en la Fig. 11) codificará de forma más precisa el coeficiente que tiene un impacto sobre los componentes de frecuencia más alta. En algunas circunstancias, puede resultar aun provechoso favorecer mucho más aquellos coeficientes de frecuencia más baja que con solamente el único bit extra disponible procedente de un número impar de bits extra. Por ejemplo, los bits adicionales podrían ser dados a cinco coeficientes del lado más bajo del criterio, pero solamente a dos del lado más alto.
Así, al especificar de forma precisa el emplazamiento del coeficiente criterio dentro de la banda permite además más asignaciones apropiadas de los bits entre los distintos coeficientes no-criterio. Con una asignación más apropiada de los bits por coeficiente no-criterio, la división de los bits en niveles adecuados de reconstrucción, tal como se ha expuesto anteriormente, es además aumentada.
Conocer el emplazamiento de los coeficientes criterio permite también una mejor estimación aproximada de
| X(k) |^{\alpha}, que a su vez permite una mejor estimación de la función de enmascaramiento. Si los emplazamientos de los coeficientes criterio son conocidos, la estimación de | X(k) |^\alpha puede ser tal como se muestra en la Fig. 11, más que como se muestra en la Fig. 7A. Sin la información sobre el emplazamiento, todo lo que se puede estimar es que los coeficientes en la banda son como promedio cada uno menos que alguna fracción de la magnitud del coeficiente criterio. Sin embargo, conocer los emplazamientos permite la estimación típicamente más precisa que se muestra en la Fig. 11, donde se asigna a cada coeficiente no-criterio un valor estimado basado en la relación entre los criterios adyacentes. El supuesto que sirve de base a esta estimación es que las magnitudes de los coeficientes no cambian mucho de un coeficiente al siguiente, y así, los coeficientes no-criterio se extenderán generalmente a lo largo de las líneas que unen los criterios adyacentes. Así, una vez obtenida la estimación más perfeccionada para la | X(k) |^{\alpha}, las estimaciones para los coeficientes individuales pueden utilizarse para ejecutar uno de los dos modos de asignación de bits: la asignación de bits para las bandas seguido de la asignación de bits para los coeficientes; o la asignación directa de bits para los coeficientes. Además, esta estimación perfeccionada puede utilizarse también para establecer el nivel de enmascaramiento de forma más apropiada. Así, la asignación de bits, y por consiguiente también la asignación de rango, es aumentada por la codificación del emplazamiento de los criterios.
Si el emplazamiento de cada coeficiente criterio ha sido especificado, es posible sin redundancia volver a cualquier criterio que haya sido codificado y aumentar la precisión de su codificación si se dispone de más bits de los que se suponía en el momento de codificar el criterio. Por ejemplo, la banda particular puede haber recibido un número muy grande de bits debido al criterio muy grande, pero puede no necesitar un número tan grande de bits para codificar los demás elementos de señal, debido a un número muy pequeño de elementos de señal que se encuentran en la banda. Si se conocen los emplazamientos, se pueden asignar más bits para especificar la amplitud del coeficiente criterio después de la primera pasada de asignación de bits a los criterios. Si no se conocen los emplazamientos, ello no puede ser realizado eficazmente sin redundancia. Una forma de especificar además la magnitud del criterio consistiría en utilizar los bits extra para codificar la diferencia entre la magnitud del criterio codificado primero, y la amplitud del criterio original. Como el aparato de descodificación estará empleando las mismas rutinas para determinar cuántos bits han sido asignados como los que utilizó el codificador, el descodificador reconocerá automática y adecuadamente la información aumentada sobre la amplitud del criterio.
La eficacia y precisión de codificación adicionales pueden realizarse mediante la especificación precisa y codificación del signo del coeficiente criterio (que corresponde a la fase de los componentes de señal a esta frecuencia). Sólo es necesario un bit adicional por coeficiente criterio para codificar su signo si se valora de forma real X(k).
Conocer el signo del coeficiente criterio aumenta la capacidad del método para determinar eficazmente los niveles de reconstrucción dentro de una banda dada. Por ejemplo, la experiencia indica que una banda puede incluir a menudo más coeficientes no-criterio que tengan el mismo signo que el coeficiente criterio. Por lo tanto, puede resultar provechoso proporcionar uno o dos niveles más de reconstrucción que tengan este signo.
Conocer el signo del coeficiente no aumenta generalmente la estimación del efecto de enmascaramiento. La utilidad de la información sobre el signo varia según qué transformada se ha utilizado.
Otra realización preferida del método de la invención es particularmente útil si el número de bandas es relativamente pequeño. Esta realización implica otra división de cada banda en el espectro X(k) en dos bandas partidas en el paso 612 de la Fig. 12A. Una banda partida incluye el coeficiente criterio y el otro no. Las bandas partidas, preferentemente, deberían dividir la banda aproximadamente por la mitad. El coeficiente de mayor magnitud en la banda partida que no contiene el coeficiente criterio también está seleccionado en 650 y cuantificado en 624. La división de dos de las bandas, las bandas b_{2} y b_{4}, en bandas partidas se muestra de forma esquemática en la Fig. 7, mediante una línea vertical de rayas por los centros de estas dos bandas. Si se ejecuta esta realización, el criterio y el coeficiente adicional codificado se denominan aquí como los coeficientes criterio mayor y menor, respectivamente. Este paso 650 tiene lugar entre la selección de los coeficientes criterio mayores en 608 y la codificación de la magnitud de cualquier coeficiente criterio en 626.
Las magnitudes de los coeficientes criterio menores son cuantificadas también de forma precisa en 624. Como son criterios menores, se sabe que son de una magnitud no superior a los coeficientes criterio mayores. Este hecho puede ser utilizado para ahorrar bits en su codificación.
Existen varias formas de dividir el encuadre entero en, por ejemplo, dieciséis bandas. Una consiste en dividir el segmento desde el principio en dieciséis bandas. La otra consiste en dividir todo el segmento en dos, y luego dividir cada parte en dos, y así sucesivamente, siendo más importante la información que deriva de la primera división que la información que deriva de la segunda división. La utilización de bandas partidas proporciona así una jerarquía de informaciones importantes. La primera división es más importante que la segunda división, que es más importante que la división siguiente, etc. Así, puede resultar provechoso conservar los bits para las divisiones más importantes.
Como se ha mencionado anteriormente, puede resultar provechoso aplicar una segunda transformación a los criterios antes de la cuantificación, codificación y transmisión en el paso 624, 626 y 628 respectivamente. Esta segunda transformación podría aplicarse a los criterios mayores y menores, o a los criterios mayores o menores solamente. Esto se debe, según la naturaleza de la señal, a que puede haber algún modelo u organización entre los coeficientes criterio. Como bien se sabe, las transformaciones se aprovechan de un modelo en los datos para reducir la cantidad de información sobre los datos, la cual es necesaria para definir con precisión los datos. Por ejemplo, si cada coeficiente criterio fuera simplemente dos veces la magnitud del coeficiente precedente, no sería necesario cuantificar, codificar y transmitir las magnitudes de todos los coeficientes. Solamente sería necesario codificar la magnitud del primero, y aplicar una función de duplicación al coeficiente recibido para el número necesario de pasos.
Así, en el paso 622, 652 ó 654 (según en que magnitud, emplazamiento y signo se están cuantificando con precisión), se decide aplicar o no una segunda transformación a los coeficientes criterio de acuerdo con un método conocido, como el DCT. Si la naturaleza de los datos es tal que proporcione probablemente un modo más compacto de codificación, en los pasos 618, 616 ó 620 se aplica otra transformación. La Fig. 12A indica que la transformación es una transformación DCT. Sin embargo, puede utilizarse cualquier transformación que logre el objetivo de reducir la cantidad de datos que deben ser transmitidos. Otros tipos apropiados de transformaciones incluyen la Transformada de Fourier Discreta.
Debido a esta transformación potencial de criterio solamente, no resulta apropiado en todos los casos concluir que según el método de la invención, la precisión más alta a la cual se codifican los coeficientes criterio es el resultado de dedicar más bits a cada coeficiente criterio (como promedio) que a cada uno de los coeficientes no-criterio (como promedio). Esto se debe a que la aplicación de la transformación de criterio solamente puede resultar en una reducción significativa en el número de bits necesarios para codificar todos los coeficientes criterio y por lo tanto cualquier coeficiente criterio único (como promedio). Por supuesto, estos ahorros en bits se logran debido a un incremento en los requisitos computacionales, tanto en la codificación como en la descodificación. En algunas aplicaciones, los ahorros de bits justificarán el límite computacional. En otras, puede que no. Ambas serán evidentes para los especialistas normales en el arte.
Si se transforman los criterios dos veces, deben ser transformados a la inversa de vuelta en el dominio de frecuencias de X(k) en 632 con el fin de simplificar los cálculos necesarios para la asignación de bits en 634, 636 y diseñar los niveles de construcción en 638, tal como se ha expuesto anteriormente. Como alternativa, más que una transformación inversa, los criterios pueden ser almacenados en una memoria en el codificador, y recuperados antes del paso 634.
Durante los pasos de descodificación del método de la invención, la forma exacta de traducción en el paso 666 desde las palabras claves no-criterio transmitidas hacia los niveles de cuantificación, dependerá de qué bandas partidas han sido utilizadas, qué emplazamiento o emplazamiento y signo de los coeficientes criterio han sido también codificados de forma precisa, y cómo esta información ha sido condensada. Si se utiliza la información secundaria para transmitir los datos de control, esta información secundaria debe ser descodificada y aplicada. Si la totalidad de la información necesaria está contenida en la memoria accesible por el descodificador, las palabras claves necesitan solamente ser traducidas de acuerdo con los algoritmos establecidos.
Por ejemplo, un algoritmo establecido puede establecer el número de coeficientes por banda en la primera mitad del encuadre en dieciséis y el número de coeficientes por banda en la segunda mitad en treinta y dos. Además, se puede establecer una regla para asignar los bits dentro de una banda uniformemente entre los coeficientes, con cualesquiera bits extra que se den, uno a cada uno de los primeros coeficientes en la banda. Si el signo del coeficiente criterio se cuantifica, cada coeficiente puede ser dividido en niveles de reconstrucción con un nivel de reconstrucción adicional que tenga un signo que es el mismo que el coeficiente criterio.
A la luz de la exposición detallada anteriormente del método de la aplicación, el aparato de la aplicación se entenderá a partir de la Fig. 13A, que muestra la parte transmisora del aparato, y la Fig. 13B, que muestra la parte receptora. El aparato de la invención puede ser implementado en procesadores especializados o un ordenador digital adecuadamente programado con propósitos generales.
El transformador 802 de tipo TDAC transforma una señal de tipo audio, como x(t) en un espectro como X(k). (Un transformador DCT también es apropiado y se puede considerar en la invención). El operador | \cdot |^{\alpha} adapta el espectro a un dominio más pertinente para la percepción humana, o cuando se desea una cuantificación no-uniforme. El divisor espectral de bandas 806 divide el espectro adaptado en bandas separadas. El identificador 808 de coeficientes criterio identifica los coeficientes en cada banda que tengan la magnitud más amplia. Los cuantificadores 810, y 812 cuantifican la magnitud de los coeficientes criterio (y quizás el signo) y, si se desea, el emplazamiento dentro de la banda respectivamente. El transformador DCT 816 aplica una DCT o una transformada similar a la información criterio cuantificada, si se determina que existe suficiente estructura entre los coeficientes criterio para justificar el cálculo adicional. El codificador 818 codifica la información criterio cuantificada, opere o no el transformador DCT en la información, produciendo una serie de palabras claves, que son transmitidas por el transmisor 820 a un canal de datos.
En un ejemplo preferido, el distribuidor de bits 822 de modo banda toma la información de los cuantificadores de magnitud del criterio 810 y utiliza aquella información para establecer una estimación aproximada | X(k) |^{\alpha} como se muestra en la Fig. 7A, y utiliza esta estimación para asignar el número limitado de bits disponibles entre las bandas en el espectro establecido por el divisor espectral de bandas 806. El distribuidor de bits de modo coeficiente 824 utiliza la información desde la posición del criterio y los cuantificadores de signo 812 y 814 junto con la asignación de bits dentro de la banda para asignar los bits de la banda entre los coeficientes en aquella banda. El cuantificador no-criterio 826 utiliza la misma información para establecer los niveles apropiados de reconstrucción para cada coeficiente en la banda y para cuantificar cada coeficiente. Los coeficientes cuantificados pasan al codificador 818, el cual asigna una palabra clave a cada coeficiente no-criterio y pasa las palabras claves al transmisor 820 para la transmisión.
En otro ejemplo preferido del aparato, el distribuidor de bits de modo banda puede también tomar la información del cuantificador de posición del criterio 812 para establecer la estimación aproximada de | X(k) |^{\alpha}. El distribuidor de bits de modo banda establecería una estimación aproximada como se muestra en la Fig. 11 si se utiliza la información sobre el emplazamiento y, a partir de esta estimación, asignaría los bits a las bandas.
En otro ejemplo del aparato de la invención el distribuidor de bits de modo banda 822 también toma la información sobre el signo del cuantificador de magnitud 810 y la información sobre el emplazamiento del cuantificador de emplazamiento 812 para asignar los bits a la banda, como se ha expuesto anteriormente con respecto al método de la invención.
El receptor o parte del descodificador de la aplicación se muestra de forma esquemática en la Fig. 13B. El receptor 920 recibe las palabras claves del canal de comunicaciones. El descodificador del criterio 918 descodifica los datos del criterio, que resultan en los datos cuantificados que representan los criterios. El transformador DCT inverso 916 deshace el efecto de cualquier transformación de tipo DCT que estaba aplicado en 816, lo que resulta en un conjunto de coeficientes criterio adaptados que se encuentran muy cerca en magnitud de los coeficientes criterio originales adaptados antes de la cuantificación en el cuantificador de magnitud 810. El descodificador de no-criterio 926 recibe las palabras claves que representan los coeficientes no-criterio y traduce estos coeficientes en coeficientes no-criterio reconstruidos. Como se ha mencionado anteriormente con relación al método, la operación del descodificador 926 dependerá de los medios por los cuales fue codificada la información del no-criterio. El operador 904 eleva los coeficientes cuantificados en el espectro reconstruido a la potencia 1/\alpha para deshacer el efecto del operador 804. El transformador inverso 902 aplica una transformada inversa al espectro para deshacer el efecto del transformador TDAC 802, y para transforma la señal procedente del dominio de frecuencia de vuelta a un dominio temporal, lo que resulta en un segmento de dominio temporal en ventanas. El combinador 928 combina las ventanas muestreadas individuales y el sintetizador 930 sintetiza una señal de tipo audio.
Otra realización preferida del codificador omite el distribuidor de bits de modo banda e incluye solamente un distribuidor de bits de modo coeficiente, que toma la estimación de | X(k) |^{\alpha} y la utiliza para asignar directamente los bits a los coeficientes, tal como se describe anteriormente con respecto al método de la invención.
La exposición anterior del método y del aparato ha supuesto que los coeficientes criterio son coeficientes que tienen el máximo valor absoluto de amplitud en la banda. Resulta también provechoso utilizar un coeficiente distinto de la magnitud máxima como criterio de referencia con respecto al cual se miden los demás. Por ejemplo, aunque se piense que se lograrán resultados óptimos al utilizar el coeficiente máximo de amplitud, podrían obtenerse unos resultados provechosos mediante la utilización de un coeficiente que tenga una amplitud próxima a la mayor, tal como la segunda o tercera mayor. Este método se considera también en la invención y se pretende que esté cubierto por las reivindicaciones adjuntas.
El criterio de referencia puede ser también el coeficiente que tenga una magnitud que sea la más próxima de entre todas las magnitudes de otros coeficientes en la banda del coeficiente medio o mediano en la banda. Un criterio de valor medio es provechoso en los casos donde las características estadísticas de la señal son tales que el valor medio, o mediano, contiene más información acerca de la energía total en la señal que lo hace el valor máximo en una banda. Este sería el caso si la señal típica se caracterizara por las desviaciones dentro de un rango estable por encima y por debajo de un valor medio. Sería también necesario caracterizar o estimar un rango para la magnitud de las desviaciones. Por ejemplo, si el valor medio de una banda tuviera un valor de cinco positivo, y se conociera a partir de las estadísticas del tipo de señal que estos valores de señal divergen típicamente del valor medio solamente +/- cuatro unidades, el rango se establecería desde el uno positivo hasta el nueve positivo, y los niveles de reconstrucción se fijarían dentro de este rango. Como anteriormente se ha dicho, los niveles de reconstrucción pueden ser divididos uniformemente, o pueden concentrarse más alrededor del valor medio, o inclinarse hacia uno de los extremos del rango, según la información estadística acerca de la clase particular de señal.
De forma similar, el coeficiente criterio puede ser el coeficiente que tenga la magnitud que se sitúa más cerca del promedio de todas las magnitudes de los demás coeficientes en la banda. Este valor promedio es útil si representa una mejor estimación de la energía en la banda que cualquier otro valor, por ejemplo los valores máximos o medios.
La presente invención tiene muchas ventajas. Los bits relacionados con la asignación de bits, como la magnitud del coeficiente criterio así como sus emplazamientos y signos, estarán bien protegidos. Por lo tanto, cualquier error que ocurra se localizará en una banda particular y no será en nada más amplio que la magnitud del coeficiente criterio en cada banda. Los coeficientes criterio estarán siempre representados de forma precisa. La información sobre la amplitud del criterio no se descarta como en algunos métodos del arte anterior, sino que se utiliza de forma muy eficaz para su propio uso directo y para la asignación de bits. Con respecto al método expuesto en el documento Dolby, la invención utiliza los bits disponibles de forma más eficaz. En el método Dolby, los exponentes de los valores espectrales máximos para cada banda están codificados. Por lo tanto, se realiza primero una estimación aproximada de la amplitud de una banda: Por consiguiente, todos los coeficientes, incluido el coeficiente máximo, se codifican y transmiten mediante la utilización de una estimación más ajustada de su magnitud. Así, la precisión de las amplitudes máximas es la misma que la de otros coeficientes en la misma banda. Además, la precisión de los coeficientes criterio en la presente invención asegura que se utilizan rangos precisos para determinar los niveles de reconstrucción, lo que permite una utilización más eficaz de los bits disponibles.
Además de las implementaciones específicas anteriormente mencionadas del método y del aparato de la invención, las variaciones adicionales se encuentran dentro del alcance pretendido de las reivindicaciones. Es posible incorporar técnicas que tengan en cuenta las capacidades perceptivas de los observadores humanos, además de la estimación del nivel de enmascaramiento.
Además, se puede considerar más de un encuadre a la vez. Por ejemplo, en el caso especial del silencio, se pueden quitar los bits del encuadre en el cual tiene lugar el silencio, y ser dados a otro. En los casos menos extremos, puede seguir siendo apropiado dedicar menos bits a un encuadre que a otro. El establecimiento de las bandas puede hacerse "al vuelo", mediante la inclusión en una banda de los coeficientes secuenciales que están cerca unos de otros, y empezando luego una nueva banda sobre un coeficiente de magnitud significativamente diferente.
Además, también se puede implementar la interacción entre los encuadres.
La exposición anterior, debe entenderse como ilustrativa y no debe considerarse limitativa en ningún sentido. Aunque esta invención ha sido particularmente mostrada y descrita con referencia a sus realizaciones preferidas, se entenderá por los especialistas en el arte que se pueden realizar cambios en la forma y detalles sin apartarse del alcance de la invención tal como se define en las reivindicaciones.

Claims (46)

1. Método para codificar una señal de tipo audio definida por coeficientes de transformación que son discretos en al menos una dimensión, comprendiendo el método:
la determinación de una división de al menos algunos de los coeficientes de transformación en una pluralidad de bandas, teniendo al menos una de las bandas una pluralidad de coeficientes de transformación adyacentes; y
la codificación de la información que describe la división determinada.
2. Método según la reivindicación 1, caracterizado porque los coeficientes de transformación derivan de una de las siguientes transformaciones: una DCT (Transformada Discreta de Coseno) y una TDAC (Cancelación de Aliasing de Dominio Temporal).
3. Método según la reivindicación 1 ó 2, caracterizado porque los coeficientes de transformación comprenden los coeficientes de transformación que derivan de un encuadre obtenido mediante la aplicación de una ventana a las muestras de señales.
4. Método según la reivindicación 1 ó 3, caracterizado porque la determinación de la división comprende la determinación basada en las características locales.
5. Método según la reivindicación 4, caracterizado porque la determinación de una división basada en las características locales comprende el principio de una nueva banda cuando los coeficientes de transformación adyacentes difieren significativamente en magnitud.
6. Método según la reivindicación 1 ó 3, caracterizado porque comprende además la codificación de al menos algunos de los coeficientes de transformación mediante la utilización de la división determinada.
7. Método según la reivindicación 1, caracterizado porque la división es diferente para distintos conjuntos de coeficientes de transformación.
8. Método según la reivindicación 3, caracterizado porque la división es diferente para distintos encuadres.
9. Método según la reivindicación 1 ó 3, caracterizado porque la división es diferente para distintas señales.
10. Método según la reivindicación 1 ó 3, caracterizado porque comprende además la selección de un coeficiente de transformación de cada una o de más de una de las bandas, procediendo al menos uno de los coeficientes de transformación seleccionados de una de las bandas que tiene una pluralidad de coeficientes de transformación adyacentes.
11. Método según la reivindicación 10, caracterizado porque la selección de un coeficiente de transformación comprende la selección del coeficiente de transformación que tiene la mayor magnitud con respecto a otros coeficientes de transformación en la banda.
12. Método según la reivindicación 10, caracterizado porque la selección de un coeficiente de transformación comprende la selección del coeficiente de transformación que tiene un tamaño preseleccionado con respecto a los demás coeficientes de transformación en la banda.
13. Método según una de las reivindicaciones 10, 11 y 12, caracterizado porque comprende la realización de una transformación basada en los coeficientes de transformación seleccionados.
14. Método según la reivindicación 13, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar los coeficientes de transformación seleccionados.
15. Método según la reivindicación 13, caracterizado porque realiza una transformación que comprende la realización de una transformación basada en las magnitudes de los coeficientes de transformación seleccionados.
16. Método según la reivindicación 15, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar las magnitudes de los coeficientes de transformación seleccionados.
17. Método según la reivindicación 13, caracterizado porque comprende la determinación de realizar o no la transformación.
18. Método según la reivindicación 13, caracterizado porque comprende además la cuantificación de los coeficientes de transformación seleccionados, y porque la transformación basada en los coeficientes de transformación seleccionados comprende una transformación basada en los coeficientes de transformación seleccionados cuantificados.
19. Método según la reivindicación 18, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar los coeficientes de transformación seleccionados cuantificados.
20. Método según la reivindicación 19, caracterizado porque la cuantificación de los coeficientes de transformación seleccionados comprende la cuantificación de las magnitudes de los coeficientes de transformación seleccionados, y porque la transformación basada en los coeficientes de transformación seleccionados comprende una transformación basada en las magnitudes cuantificadas de los coeficientes de transformación seleccionados.
21. Método según la reivindicación 20, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar las magnitudes cuantificadas de los coeficientes de transformación seleccionados.
22. Método según una de las reivindicaciones 18, 19 y 20, caracterizado porque la cuantificación comprende una representación no lineal.
23. Método según una de las reivindicaciones 13, 14, 15, 16, 17, 18, 19, 20, 21 y 22, caracterizado porque la transformación comprende una de las siguientes transformaciones:
una DCT (Transformada Discreta de Coseno) y una DFT (Transformada de Fourier Discreta).
24. Método de descodificación que comprende:
la recepción de una señal codificada de tipo audio definida por los coeficientes de transformación discretos, siendo la señal codificada de tipo audio del tipo codificado por:
la determinación de una división de al menos algunos de los coeficientes de transformación en una pluralidad de bandas, teniendo al menos una de las bandas una pluralidad de coeficientes de transformación adyacentes;
la codificación de la información que describe la división determinada; y
la descodificación de al menos algunas de las señales codificadas de tipo audio de una forma que está relacionada adecuadamente de forma inversa con el tipo de codificación, comprendiendo la descodificación la descodificación de la información que describe la división determinada.
25. Método según la reivindicación 24, caracterizado porque los coeficientes de transformación derivan de una de las siguientes transformaciones: una DCT (Transformada Discreta de Coseno) y una TDAC (Cancelación de Aliasing de Dominio Temporal).
26. Método según la reivindicación 24 ó 25, caracterizado porque los coeficientes de transformación comprenden los coeficientes de transformación que derivan de un encuadre obtenido mediante la aplicación de una ventana a las muestras de señales.
27. Método según la reivindicación 24 ó 26, caracterizado porque la determinación de la división comprende la determinación basada en las características locales.
28. Método según la reivindicación 27, caracterizado porque la determinación de una división basada en las características locales comprende el principio de una nueva banda cuando los coeficientes de transformación adyacentes difieren significativamente en magnitud.
29. Método según la reivindicación 24 ó 26, caracterizado porque la señal codificada de tipo audio es del tipo codificado mediante codificación de al menos algunos de los coeficientes de transformación mediante la utilización de la división determinada.
30. Método según la reivindicación 24, caracterizado porque la división es diferente para distintos conjuntos de coeficientes de transformación.
31. Método según la reivindicación 26, caracterizado porque la división es diferente para distintos encuadres.
32. Método según la reivindicación 24 ó 26, caracterizado porque la división es diferente para distintas señales.
33. Método según la reivindicación 24 ó 26, caracterizado porque la señal codificada de tipo audio es del tipo codificado mediante la selección de un coeficiente de transformación de cada una o más una de las bandas, procediendo al menos uno de los coeficientes de transformación seleccionados de una de las bandas que tiene una pluralidad de coeficientes de transformación adyacentes.
34. Método según la reivindicación 33, caracterizado porque la selección de un coeficiente de transformación comprende la selección del coeficiente de transformación que tiene la mayor magnitud con respecto a otros coeficientes de transformación en la banda.
35. Método según la reivindicación 33, caracterizado porque la selección de un coeficiente de transformación comprende la selección del coeficiente de transformación que tiene un tamaño preseleccionado con respecto a los demás coeficientes de transformación en la banda.
36. Método según una de las reivindicaciones 33, 34 ó 35, caracterizado porque la señal codificada de tipo audio es del tipo codificado mediante la realización de una transformación basada en los coeficientes de transformación seleccionados.
37. Método según la reivindicación 36, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar los coeficientes de transformación seleccionados.
38. Método según la reivindicación 36, caracterizado porque la realización de una transformación comprende la realización de una transformación basada en las magnitudes de los coeficientes de transformación seleccionados.
39. Método según la reivindicación 38, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar las magnitudes de los coeficientes de transformación seleccionados.
40. Método según la reivindicación 36, caracterizado porque la señal codificada de tipo audio es del tipo codificado mediante la determinación de realizar o no la transformación.
41. Método según la reivindicación 36, caracterizado porque la señal codificada de tipo audio es del tipo codificado por:
la cuantificación de los coeficientes de transformación seleccionados, y
porque la transformación basada en los coeficientes de transformación seleccionados comprende una transformación basada en los coeficientes de transformación seleccionados cuantificados.
42. Método según la reivindicación 41, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar los coeficientes de transformación seleccionados cuantificados.
43. Método según la reivindicación 41, caracterizado porque la cuantificación de los coeficientes de transformación seleccionados comprende la cuantificación de las magnitudes de los coeficientes de transformación seleccionados, y porque la transformación basada en los coeficientes de transformación seleccionados comprende una transformación basada en las magnitudes cuantificadas de los coeficientes de transformación seleccionados.
44. Método según la reivindicación 43, caracterizado porque la transformación reduce el número promedio de bits necesarios para codificar las magnitudes cuantificadas de los coeficientes de transformación seleccionados.
45. Método según una de las reivindicaciones 41, 42 y 43, caracterizado porque la cuantificación comprende una representación no lineal.
46. Método según una de las reivindicaciones 36, 37, 38, 39, 40, 41, 42, 43, 44 y 45, caracterizado porque la transformación comprende una de las siguientes: una DCT (Transformada Discreta de Coseno) y una DFT (Transformada de Fourier Discreta).
ES99117212T 1992-01-17 1993-01-13 Metodo para codificar y descodificar datos de tipo audio. Expired - Lifetime ES2238798T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/822,247 US5394508A (en) 1992-01-17 1992-01-17 Method and apparatus for encoding decoding and compression of audio-type data
US822247 1992-01-17
US07/879,635 US5369724A (en) 1992-01-17 1992-05-07 Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients
US879635 1992-05-07

Publications (1)

Publication Number Publication Date
ES2238798T3 true ES2238798T3 (es) 2005-09-01

Family

ID=27124626

Family Applications (2)

Application Number Title Priority Date Filing Date
ES99117212T Expired - Lifetime ES2238798T3 (es) 1992-01-17 1993-01-13 Metodo para codificar y descodificar datos de tipo audio.
ES93903484T Expired - Lifetime ES2155449T3 (es) 1992-01-17 1993-01-13 Metodo y aparato para la codificacion, decodificacion y compresion de datos de tipo audio.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES93903484T Expired - Lifetime ES2155449T3 (es) 1992-01-17 1993-01-13 Metodo y aparato para la codificacion, decodificacion y compresion de datos de tipo audio.

Country Status (7)

Country Link
US (2) US5369724A (es)
EP (2) EP0628195B1 (es)
AT (2) ATE291771T1 (es)
CA (1) CA2128216C (es)
DE (2) DE69333786T2 (es)
ES (2) ES2238798T3 (es)
WO (1) WO1993014492A1 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394508A (en) * 1992-01-17 1995-02-28 Massachusetts Institute Of Technology Method and apparatus for encoding decoding and compression of audio-type data
US5369724A (en) * 1992-01-17 1994-11-29 Massachusetts Institute Of Technology Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients
IT1257431B (it) * 1992-12-04 1996-01-16 Sip Procedimento e dispositivo per la quantizzazione dei guadagni dell'eccitazione in codificatori della voce basati su tecniche di analisi per sintesi
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
KR100330290B1 (ko) * 1993-11-04 2002-08-27 소니 가부시끼 가이샤 신호부호화장치,신호복호화장치,및신호부호화방법
WO1995032499A1 (fr) * 1994-05-25 1995-11-30 Sony Corporation Procede de codage, procede de decodage, procede de codage-decodage, codeur, decodeur et codeur-decodeur
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
US5787387A (en) * 1994-07-11 1998-07-28 Voxware, Inc. Harmonic adaptive speech coding method and system
US5648989A (en) * 1994-12-21 1997-07-15 Paradyne Corporation Linear prediction filter coefficient quantizer and filter set
JPH0969781A (ja) * 1995-08-31 1997-03-11 Nippon Steel Corp オーディオデータ符号化装置
US5774837A (en) * 1995-09-13 1998-06-30 Voxware, Inc. Speech coding system and method using voicing probability determination
JP2820096B2 (ja) * 1996-01-10 1998-11-05 日本電気株式会社 符号化方式および復号方式
JP3189660B2 (ja) * 1996-01-30 2001-07-16 ソニー株式会社 信号符号化方法
JP3491425B2 (ja) * 1996-01-30 2004-01-26 ソニー株式会社 信号符号化方法
US6111870A (en) 1996-11-07 2000-08-29 Interdigital Technology Corporation Method and apparatus for compressing and transmitting high speed data
US5832443A (en) * 1997-02-25 1998-11-03 Alaris, Inc. Method and apparatus for adaptive audio compression and decompression
US5991454A (en) * 1997-10-06 1999-11-23 Lockheed Martin Coporation Data compression for TDOA/DD location system
US5899969A (en) * 1997-10-17 1999-05-04 Dolby Laboratories Licensing Corporation Frame-based audio coding with gain-control words
US6012025A (en) * 1998-01-28 2000-01-04 Nokia Mobile Phones Limited Audio coding method and apparatus using backward adaptive prediction
JP2000165251A (ja) * 1998-11-27 2000-06-16 Matsushita Electric Ind Co Ltd オーディオ信号符号化装置及びそれを実現したマイクロホン
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
FR2796190B1 (fr) * 1999-07-05 2002-05-03 Matra Nortel Communications Procede et dispositif de codage audio
US6446037B1 (en) * 1999-08-09 2002-09-03 Dolby Laboratories Licensing Corporation Scalable coding method for high quality audio
EP1113432B1 (en) * 1999-12-24 2011-03-30 International Business Machines Corporation Method and system for detecting identical digital data
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
JP4676140B2 (ja) 2002-09-04 2011-04-27 マイクロソフト コーポレーション オーディオの量子化および逆量子化
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US7418394B2 (en) * 2005-04-28 2008-08-26 Dolby Laboratories Licensing Corporation Method and system for operating audio encoders utilizing data from overlapping audio segments
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7630882B2 (en) * 2005-07-15 2009-12-08 Microsoft Corporation Frequency segmentation to obtain bands for efficient coding of digital media
KR101261524B1 (ko) * 2007-03-14 2013-05-06 삼성전자주식회사 노이즈를 포함하는 오디오 신호를 저비트율로부호화/복호화하는 방법 및 이를 위한 장치
US7761290B2 (en) 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US8046214B2 (en) * 2007-06-22 2011-10-25 Microsoft Corporation Low complexity decoder for complex transform coding of multi-channel sound
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8249883B2 (en) 2007-10-26 2012-08-21 Microsoft Corporation Channel extension coding for multi-channel source
KR102315920B1 (ko) 2013-09-16 2021-10-21 삼성전자주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
JP6243540B2 (ja) 2013-09-16 2017-12-06 サムスン エレクトロニクス カンパニー リミテッド スペクトル符号化方法及びスペクトル復号化方法
KR102625143B1 (ko) * 2014-02-17 2024-01-15 삼성전자주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
CN111968655B (zh) 2014-07-28 2023-11-10 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
EP3079151A1 (en) * 2015-04-09 2016-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and method for encoding an audio signal
CN110120217B (zh) * 2019-05-10 2023-11-24 腾讯科技(深圳)有限公司 一种音频数据处理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3167257D1 (en) * 1981-02-27 1985-01-03 Ibm Transmission methods and apparatus for implementing the method
US4899384A (en) * 1986-08-25 1990-02-06 Ibm Corporation Table controlled dynamic bit allocation in a variable rate sub-band speech coder
US5230038A (en) * 1989-01-27 1993-07-20 Fielder Louis D Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5222189A (en) * 1989-01-27 1993-06-22 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
AU643677B2 (en) * 1989-01-27 1993-11-25 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
JPH03117919A (ja) * 1989-09-30 1991-05-20 Sony Corp ディジタル信号符号化装置
JP2861238B2 (ja) * 1990-04-20 1999-02-24 ソニー株式会社 ディジタル信号符号化方法
NL9001127A (nl) * 1990-05-14 1991-12-02 Philips Nv Kodeerinrichting bevattende een subbandkoder, en een zender voorzien van de kodeerinrichting.
US5369724A (en) * 1992-01-17 1994-11-29 Massachusetts Institute Of Technology Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients

Also Published As

Publication number Publication date
EP0961414B1 (en) 2005-03-23
CA2128216C (en) 2006-06-06
US5640486A (en) 1997-06-17
EP0961414A3 (en) 2000-08-30
EP0628195B1 (en) 2000-12-27
ES2155449T3 (es) 2001-05-16
DE69333786T2 (de) 2006-03-30
ATE198384T1 (de) 2001-01-15
WO1993014492A1 (en) 1993-07-22
EP0628195A1 (en) 1994-12-14
DE69333786D1 (de) 2005-04-28
CA2128216A1 (en) 1993-07-22
US5369724A (en) 1994-11-29
DE69329796D1 (de) 2001-02-01
EP0628195A4 (en) 1996-07-31
DE69329796T2 (de) 2001-08-02
ATE291771T1 (de) 2005-04-15
EP0961414A2 (en) 1999-12-01

Similar Documents

Publication Publication Date Title
ES2238798T3 (es) Metodo para codificar y descodificar datos de tipo audio.
USRE40691E1 (en) Encoding decoding and compression of audio-type data using reference coefficients located within a band of coefficients
ES2300567T3 (es) Representacion parametrica de audio espacial.
KR100214253B1 (ko) 고품질오디오용낮은저속비트변환인코더,디코더및인코딩/디코딩방법
ES2348319T3 (es) Vocodificador de velocidad variable.
ES2232842T3 (es) Codificador predictivo de sub-banda multicanal con atribucion fisico-acustica adaptativa de bitios.
ES2375192T3 (es) Codificación por transformación mejorada de habla y señales de audio.
JP5175028B2 (ja) デジタル信号の符号化方法及び装置ならびに復号化方法及び装置
ES2959641T3 (es) Aparato y método para decodificar o codificar una señal de audio utilizando valores de información para una banda de reconstrucción
ES2741963T3 (es) Codificadores de señal de audio, métodos para codificar una señal de audio y programas informáticos
ES2717606T3 (es) Codificación y decodificación de audio escalable usando un banco de filtros jerárquico
ES2213901T3 (es) Mejora de codificacion de la fuente utilizando la replica de la banda espectral.
ES2718400T3 (es) Método y dispositivo de codificación y decodificación de señal de audio
AU656452B2 (en) Apparatus and method for data compression using signal-weighted quantizing bit allocation
US7895034B2 (en) Audio encoding system
ES2307188T3 (es) Sintetizador multicanal y procedimiento para generar una señal de salida multicanal.
ES2372064T3 (es) Procedimiento y aparato para codificar y decodificar señales digitales.
EP2490215A2 (en) Method and apparatus to extract important spectral component from audio signal and low bit-rate audio signal coding and/or decoding method and apparatus using the same
JPH09500772A (ja) 適応配分式符号化・復号装置及び方法
ES2969117T3 (es) Dispositivo de codificación de audio de voz, y procedimiento de codificación de audio de voz
JPH10133699A (ja) オーディオ信号処理方法
ES2545623T3 (es) Compartición adaptativa de la velocidad de ganancia-forma
ES2619369T3 (es) Método de codificación, método de descodificación, aparato, programa y soporte de registro
ES2634196T3 (es) Diseño de tabla de banda de frecuencia para algoritmos de reconstrucción de alta frecuencia
Pan Overview of the mpeg/audio compression algorithm