ES2273268T3 - Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada. - Google Patents

Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada. Download PDF

Info

Publication number
ES2273268T3
ES2273268T3 ES04740658T ES04740658T ES2273268T3 ES 2273268 T3 ES2273268 T3 ES 2273268T3 ES 04740658 T ES04740658 T ES 04740658T ES 04740658 T ES04740658 T ES 04740658T ES 2273268 T3 ES2273268 T3 ES 2273268T3
Authority
ES
Spain
Prior art keywords
values
block
transformed
discrete
transformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES04740658T
Other languages
English (en)
Inventor
Ralf Geiger
Gerald Schuller
Thomas Sporer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2273268T3 publication Critical patent/ES2273268T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/0017Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Image Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Dispositivo para la conversión de valores discretos en una representación transformada con valores enteros, en el que los valores discretos presentan información de audio y/o imágenes, con las siguientes características: un dispositivo (102) para procesar un primer bloque de valores discretos empleando una primera regla de transformación, para obtener un primer bloque de valores transformados; un dispositivo (104) para redondear el primer bloque de valores transformados, para obtener un primer bloque de valores transformados redondeados; un dispositivo (106) para sumar el primer bloque de valores transformados redondeados a un segundo bloque de valores discretos, para obtener un segundo bloque de valores sumados; un dispositivo (108) para procesar el segundo bloque de valores sumados empleando una segunda regla de transformación, para obtener un segundo bloque de valores transformados; un dispositivo (110) para redondear el segundo bloque de valores transformados, para obtener un segundo bloque de valores transformados redondeados; y un dispositivo (112) para restar el segundo bloque de valores transformados redondeados del primer bloque de valores discretos, para obtener un bloque de valores de partida enteros de la representación transformada.

Description

Dispositivo y procedimiento para convertir en una representación transformada o para convertir de manera inversa la representación transformada.
La presente invención se refiere a algoritmos de compresión para valores discretos que presentan información de audio y/o imágenes, y especialmente a algoritmos de transformación que deben emplearse especialmente en aquellos codificadores que se basan en la transformación, es decir, que no realizan una cuantificación/codificación de las señales de audio y/o de imágenes originales, sino que comprenden una transformación en una banda espectral antes de la cuantificación/codificación.
Los procedimientos de codificación de audio modernos, tales como MPEG Layer3 (MP3) o MPEG AAC emplean transformadas tales como, por ejemplo, la denominada transformada discreta del coseno modificada (MDCT) para obtener una representación de frecuencias en bloque de una señal de audio. Un codificador de audio de este tipo obtiene normalmente un flujo de muestras de audio discretas en el tiempo. Se aplica una ventana al flujo de muestras de audio para obtener un bloque con aplicación de ventana de, por ejemplo, 1024 o 2048 muestras de audio con aplicación de ventana. Para la aplicación de una ventana se utilizan diferentes funciones ventana, por ejemplo una ventana seno, etc.
Las muestras de audio discretas en el tiempo con aplicación de ventana se convierten entonces mediante un banco de filtros en una representación espectral. Principalmente puede utilizarse para ello una transformada de Fourier, o por motivos especiales, un variedad de la transformada de Fourier, como por ejemplo una FFT, tal como se ha expuesto, una MDCT. El bloque de valores espectrales de audio en la salida del banco de filtros puede entonces procesarse adicionalmente, según la necesidad. En el caso de los codificadores de audio anteriormente mencionados sigue una cuantificación de los valores espectrales de audio, seleccionándose los niveles de cuantificación normalmente de tal manera que el ruido de cuantificación introducido por la cuantificación se sitúa por debajo del umbral de enmascaramiento psicoacústico, es decir, se "enmascara". La cuantificación es una codificación afectada por las pérdidas. Para obtener una reducción adicional de la cantidad de datos, los valores espectrales cuantificados se codifican a continuación por entropía por ejemplo mediante una codificación de Huffman. Mediante la adición de información secundaria, como por ejemplo factores de escala, etc. se forma a partir de los valores espectrales cuantificados y codificados por entropía, mediante un multiplexador de flujo de bits, un flujo de bits que puede transferirse o almacenarse.
En el decodificador de audio se divide el flujo de bits mediante un demultiplexador de flujo de bits en valores espectrales cuantificados y codificados y en información secundaria. Los valores espectrales cuantificados y codificados por entropía se codifican en primer lugar por entropía, para obtener los valores espectrales cuantificados. Los valores espectrales cuantificados se cuantifican entonces a la inversa, para obtener valores espectrales decodificados que presentan un ruido de cuantificación que, no obstante, se sitúa por debajo del umbral de enmascaramiento psicoacústico y, por tanto, será inaudible. Estos valores espectrales se convierten entonces mediante un banco de filtros de síntesis en una representación temporal, para obtener muestras de audio decodificadas discretas en el tiempo. En el banco de filtros de síntesis debe aplicarse un algoritmo de transformación inverso con respecto al algoritmo de transformación. Además, después de la transformación inversa de frecuencia-tiempo se deshace la aplicación de ventana.
Para alcanzar una buena selectividad de frecuencia, los codificadores de audio modernos utilizan normalmente un solapamiento de bloques. En la figura 12a se representa un caso de este tipo. En primer lugar se toman por ejemplo 2048 muestras de audio discretas en el tiempo y se les aplica una ventana mediante un dispositivo 402. La ventana que representa el dispositivo 402 tiene una longitud de ventana de 2N muestras y proporciona en el lado de salida un bloque de 2N muestras con aplicación de ventana. Para conseguir un solapamiento de ventanas, se forma mediante un dispositivo 404, que está representado únicamente por motivos de claridad en la figura 12a separado del dispositivo 402, un segundo bloque de 2N muestras con aplicación de ventana. Sin embargo, las 2048 muestras alimentadas al dispositivo 404 no son las muestras de audio discretas en el tiempo inmediatamente posteriores a la primera ventana, sino que incluyen la segunda mitad de las muestras con aplicación de ventana mediante el dispositivo 402 e incluyen además sólo 1024 "nuevas" muestras. El solapamiento se representa simbólicamente en la figura 12a mediante un dispositivo 406 que causa un grado de solapamiento del 50%. Tanto las 2N muestras con aplicación de ventana producidas por el dispositivo 402 como las 2N muestras con aplicación de ventana producidas por el dispositivo 404 se someten entonces al algoritmo MDCT mediante un dispositivo 408 ó 410. El dispositivo 408 proporciona según el algoritmo MDCT conocido N valores espectrales para la primera ventana, mientras que el dispositivo 410 proporciona igualmente N valores espectrales, pero para la segunda ventana, existiendo entre la primera ventana y la segunda ventana un solapamiento del 50%.
En el decodificador, los N valores espectrales de la primera ventana se alimentan, tal como se muestra en la figura 12b, a un dispositivo 412 que realiza una transformada discreta del coseno modificada inversa. Lo mismo se aplica para los N valores espectrales de la segunda ventana. Éstos se alimentan a un dispositivo 414 que realiza igualmente una transformada discreta del coseno modificada inversa. Tanto el dispositivo 412 como el dispositivo 414 proporcionan, en cada caso, 2N muestras para la primera ventana y 2N muestras para la segunda ventana.
En un dispositivo 416, que en la figura 12b se designa con TDAC (TDAC = "Time Domain Aliasing Cancellation", cancelación del solapamiento del dominio del tiempo), se tiene en cuenta el hecho de que las dos ventanas se solapan. Especialmente una muestra y_{1} de la segunda mitad de la primera ventana, por tanto con un índice N+k, se suma a una muestra Y_{2} de la primera mitad de la segunda ventana, esto es con un índice k, de modo que en el lado de salida, es decir en el decodificador, se obtienen N muestras temporales decodificadas.
Se indica que mediante la función del dispositivo 416, que también se designa como función de suma, la aplicación de ventana realizada en el codificador representado esquemáticamente mediante la figura 12a se tiene en cuenta automáticamente hasta cierto punto de modo que en el decodificador representado mediante la figura 12b no debe tener lugar ninguna "aplicación de ventana inversa" explícita.
Si la función ventana implementada por el dispositivo 402 ó 404 se designa con w(k), representando el índice k el índice temporal, debe cumplirse la condición de que el peso de la ventana w(k) elevado al cuadrado sumado al peso de la ventana w(N+k) elevado al cuadrado den conjuntamente 1, siendo k de 0 a N-1. Si se emplea una ventana seno, cuyas ponderaciones de ventana siguen a la primera semionda de la función seno, se cumple siempre esta condición de que el cuadrado del seno y el cuadrado del coseno den conjuntamente el valor 1 para cada ángulo.
En el procedimiento de ventanas descrito en la figura 12a con la función MDCT posterior resulta desventajoso el hecho de que la aplicación de ventana mediante la multiplicación de una muestra discreta en el tiempo, si se piensa en una ventana seno, se consigue con un número de coma flotante, puesto que el seno de un ángulo entre 0 y 180 grados, aparte del ángulo de 90 grados, no da ningún número entero. Aunque se apliquen ventanas a muestras discretas en el tiempo de números enteros, se originan por tanto números de coma flotante después de la aplicación de ventanas.
En consecuencia, también cuando no se emplee ningún codificador psicoacústico, es decir, cuando deba lograrse una codificación sin pérdidas, es necesaria una cuantificación a la salida de los dispositivos 408 ó 410 para poder realizar una codificación de entropía apreciable hasta cierto punto.
En términos generales se obtienen transformadas de números enteros conocidas actualmente para una codificación de audio y/o de vídeo sin pérdidas mediante una descomposición de las transformadas empleadas en ellos en rotaciones de Givens y empleando el esquema de elevación en cada rotación de Givens. De este modo se introduce en cada etapa un error de redondeo. El error de redondeo se acumula cada vez más para las siguientes fases de rotaciones de Givens. El error de aproximación resultante es problemático especialmente para planteamientos de codificación de audio sin pérdidas, especialmente si se emplean transformadas largas, que proporcionan por ejemplo 1024 valores espectrales, tal como es el caso por ejemplo con la conocida MDCT con superposición y suma (MDCT = transformada discreta del coseno modificada). Especialmente en el área de altas frecuencias, en la que la señal de audio tiene en cualquier caso normalmente una cantidad de energía muy pequeña, el error de aproximación puede hacerse rápidamente mayor que la señal real, de modo que estos planteamientos son problemáticos en cuanto a la codificación sin pérdidas y especialmente en cuanto a la eficiencia de codificación que puede alcanzarse con ello.
Las transformaciones de números enteros, es decir los algoritmos de transformación que generan valores de partida enteros, se basan con respecto a la codificación de audio especialmente en la conocida DCT-IV, que no tiene en cuenta ninguna componente constante, mientras que las transformaciones de números enteros para aplicaciones de imágenes se basan más bien en la DCT-II, que incluye especialmente las medidas para la componente constante. Tales transformaciones de números enteros se conocen por ejemplo por Y. Zeng, G. Bi y Z. Lin, "Integer sinusoidal transforms based on lifting factorization", en Proc. ICASSP'01, mayo de 2001, págs. 1.181-1.184, K. Komatsu y K. Sezaki, "Reversible Discrete Cosine Transform", en Proc. ICASSP, 1998, tomo 3, páginas 1.769-1.772, P. Hao y Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, tomo 49, págs. 2.314-2.324, y J. Wang, J. Sun y S. Yu, "1-d and 2-d transforms from integers to integers", en Proc. ICASSP'03, Hong Kong, abril de 2003.
El documento GEIGER R et al: "AUDIO CODING BASED ON INTEGER TRANSFORMS" PREIMPRESOS DE DOCUMENTOS PRESENTADOS EN LA 111ª CONVENCION AES, Nº 5471, 21 de septiembre de 2001 (2001-09-21), páginas 1-8, describe la aplicación de transformaciones de números enteros en la codificación de audio.
Tal como se ha explicado, las transformaciones de números enteros descritas en el mismo se basan en la descomposición de la transformación en rotaciones de Givens y en la aplicación del conocido esquema de elevación a las rotaciones de Givens, lo que conlleva el problema del error de redondeo que se acumula. Esto se debe especialmente en que, en una transformación debe redondearse en muchas ocasiones, es decir, después de cada etapa de elevación, de modo que especialmente en transformaciones largas, que conllevan de manera correspondiente muchas etapas de elevación, debe redondearse especialmente con mucha frecuencia. Tal como se ha explicado, esto da como resultado un error acumulado y especialmente también un procesamiento relativamente costoso, ya que siempre se redondea después de cada etapa de elevación, para realizar la siguiente etapa de elevación.
El objetivo de la presente invención consiste en crear un concepto más eficiente y más preciso para la conversión de valores discretos en una representación transformada y para la conversión inversa correspondiente de la representación transformada.
Este objetivo se alcanza mediante un dispositivo de conversión según la reivindicación 1 de patente, un procedimiento de conversión según la reivindicación 17 de patente, un dispositivo de conversión inversa según la reivindicación 19 de patente, un procedimiento de conversión inversa según la reivindicación 21 de patente o un programa informático según la reivindicación 24 de patente.
Otro objetivo de la presente invención consiste en crear un dispositivo de transformación directa así como un dispositivo de transformación inversa que comprenden el concepto de conversión según la invención o el concepto de conversión inversa según la invención.
Este objetivo se alcanza mediante el dispositivo de transformación directa según la reivindicación 16 de patente, un procedimiento de transformación directa según la reivindicación 18 de patente, un dispositivo de transformación inversa según la reivindicación 22 de patente o un procedimiento de transformación inversa según la reivindicación 23 de patente o un programa informático según la reivindicación 24 de patente.
La presente invención se basa en el conocimiento de que mediante la ampliación del esquema de elevación unidimensional en un esquema de elevación multidimensional así como mediante la realización en cascada de al menos dos de tales etapas de elevación por un lado se reduce el error de redondeo y por otro lado se aumenta la eficiencia de cálculo. Según la invención se necesitan para ello al menos dos bloques de valores, que comprenden información de audio y/o de imágenes, que pueden someterse en sí mismos respectivamente a cualquier algoritmo de transformación. Según la invención se redondea justo después de la realización del algoritmo de transformación completo. Esto significa que se redondean primero, por ejemplo, los valores de resultado producidos, por ejemplo valores espectrales, de una transformación 1, o bien los valores de resultado producidos de una transformación 2. No es necesario redondear dentro de la transformación. En consecuencia, puede emplearse como regla de transformación primera y segunda cualquier regla de transformación ya existente y especialmente también ya comprobada, por ejemplo, en forma de un código de programa, que exista y esté disponible libremente, sin que deba descomponerse la propia transformación en rotaciones individuales, tal como ocurría en el estado de la técnica, interviniendo en la propia transformación.
Según la invención, se emplea el segundo bloque en cierto modo como portadora para la representación transformada del primer bloque, al sumarse el segundo bloque con la representación transformada del primer bloque. Además, según la invención se emplea el primer bloque en cierto modo como portadora para una representación transformada del segundo bloque al restarse del primer bloque la representación transformada del segundo bloque, en la que ya se incluyen los valores espectrales del primer bloque.
Después de haber redondeado, según la invención sólo después de la primera o la segunda transformación, y después de que los valores redondeados se hayan superpuesto en adición o en sustracción a los correspondientes valores de la portadora, puede conseguirse con la conversión inversa sin pérdida de datos una cancelación de las etapas realizadas durante la conversión, de modo que resulta un algoritmo de transformación de números enteros que puede implementarse por un lado de manera eficiente en cuanto al cálculo y en el que, por otro lado, no aparece ninguna acumulación de errores de redondeo. Esto se debe a que se redondea justo después de una transformación primera o segunda completa, lo que elimina por un lado la acumulación de los errores de redondeo y por otro lado reduce el número de las etapas de redondeo de manera muy considerable, y más concretamente en comparación con el caso en el que la propia transformación se descompone en rotaciones en las que se redondea después de cada etapa de elevación, dentro del propio algoritmo de transformación.
Una ventaja de la presente invención consiste en que, además, puede emplearse cualquier regla de transformación convencional que no sea de números enteros porque debe redondearse justo después de la transformación.
Adicionalmente, la presente invención es ventajosa en el sentido de que pueden utilizarse algoritmos rápidos cuya dificultad O no aumente según N^{2} sino únicamente N log N. Esto es especialmente importante para señales de audio porque en las señales de audio el valor N, es decir la longitud de la transformada, es relativamente grande y se encuentra por ejemplo en los procedimientos de compresión de audio conocidos descritos en la introducción en valores de 1024.
En un ejemplo de realización preferido de la presente invención, en el que se emplea una versión de números enteros de la transformada MDCT de coma flotante conocida, la regla de transformación es la transformada DCT-IV conocida, que comprende una matriz de transformación idéntica para la primera y para la segunda transformación como regla de transformación. Además, para obtener una transformación de números enteros completa, que corresponde a la MDCT con superposición y suma, se prefiere agrupar la aplicación de ventana de la MDCT convencional con la funcionalidad de cancelación de superposición de dominio de tiempo (funcionalidad TDAC) y expresarla mediante rotaciones de Givens, que pueden calcularse a su vez en números enteros mediante un esquema de elevación, para lograr una versión total en números enteros de la MDCT.
Los dos bloques de valores discretos alimentados al dispositivo de conversión según la invención corresponden entonces en cierto modo a los valores rotados de Givens de los bloques superpuestos con aplicación de ventana de muestras de audio discretas en el tiempo o muestras de imágenes discretas o valores residuales de imágenes según una predicción en un algoritmo de compresión de vídeo moderno, prefiriéndose en el caso de datos de audio como algoritmo de transformación el algoritmo DCT-IV. En el lado de decodificación se prefiere como dispositivo de transformación frecuencia-tiempo de nuevo el algoritmo DCT-IV, al que sigue nuevamente una fase de rotación, que lleva a cabo un esquema de elevación inverso para volver a obtener sin pérdidas los N redondeos introducidos en el lado de codificación, por tanto los redondeos introducidos en la transformación tiempo-frecuencia.
A continuación se explicarán más detalladamente ejemplos de realización preferidos de la presente invención con referencia a los dibujos adjuntos. Muestran:
la figura 1, un diagrama de bloques de un dispositivo de conversión según la invención;
la figura 2, un diagrama de bloques de un dispositivo de conversión inversa según la invención;
la figura 3, un diagrama de bloques de un dispositivo de conversión según un ejemplo de realización preferido de la presente invención;
la figura 4, un dispositivo de conversión inversa según un ejemplo de realización preferido de la presente invención;
la figura 5, una representación de la transformación de dos bloques consecutivos de valores, como la que puede emplearse para la presente invención;
la figura 6, una representación detallada de una etapa de elevación multidimensional con una matriz de transformación directa;
la figura 7, una representación de una etapa de elevación inversa multidimensional con una matriz de transformación inversa;
la figura 8, una representación de la presente invención para la descomposición de una DCT-IV de longitud N en dos DCT-IV de longitud N/2; y
la figura 9, un diagrama de bloques de un dispositivo preferido para procesar muestras de audio discretas en el tiempo para obtener valores enteros a partir de los cuales pueden calcularse valores espectrales en números enteros;
la figura 10, una representación esquemática de la descomposición de una MDCT y una MDCT inversa en rotaciones de Givens y dos operaciones DCT-IV; y
la figura 11, una representación para ilustrar la descomposición de la MDCT con un solapamiento del cincuenta por ciento en rotaciones y operaciones DCT-IV.
La figura 12a, un diagrama de bloques esquemático de un codificador conocido con MDCT y un solapamiento del cincuenta por ciento;
la figura 12b, un diagrama de bloques de un decodificador conocido para decodificar los valores generados mediante la figura 10a.
La figura 1 muestra un dispositivo de conversión de valores discretos según la invención en una representación transformada con valores enteros. Los valores discretos se alimentan a través de una primera entrada 100a así como a través de una segunda entrada 100b al dispositivo según la invención. A través de la entrada 100a se alimenta un primer bloque de valores discretos, mientras que a través de la entrada 100b se alimenta un segundo bloque de valores discretos. Los valores discretos representan datos de audio o datos de imágenes o datos de vídeo. Tal como se expondrá aún posteriormente, el primer bloque de valores discretos y el segundo bloque de valores discretos pueden comprender efectivamente dos bloques consecutivos en el tiempo de muestras de audio. El primer y el segundo bloque de valores discretos pueden comprender también dos imágenes representadas mediante valores discretos o valores residuales según una predicción o valores diferenciales en una codificación diferencial, etc. Alternativamente, los dos bloques de valores discretos pueden haberse sometido sin embargo a un procesamiento previo, tal como, por ejemplo, en la implementación de números enteros de la MDCT, en la que el primer bloque y el segundo bloque de valores discretos se han generado mediante rotaciones de Givens a partir de muestras reales con aplicación de ventana. El primer y el segundo bloque de valores discretos pueden derivarse por tanto mediante cualquier procesamiento, tal como por ejemplo rotaciones, permutaciones, mariposas de suma/resta, ajustes de escala, etc. de datos de audio o datos de imágenes originales. No obstante, el primer y el segundo bloque de valores discretos contienen, aunque no sean muestras de audio directas o valores de imágenes discretos, información de audio o información de imágenes.
El primer bloque de valores discretos se alimenta a través de la entrada 100a a un dispositivo 102 para el procesamiento del primer bloque de valores discretos empleando una primera regla de transformación para obtener en una salida del dispositivo 102 un primer bloque de valores transformados, tal como se muestra en la figura 1. Este primer bloque de valores transformados no será normalmente de números enteros sino que comprenderá valores de coma flotante, tal como los que obtienen normalmente mediante cualquier regla de transformación, tal como por ejemplo una transformada de Fourier, una transformada de Laplace, una FFT, una DCT, una DST, una MDCT, una MDST o cualquier otra transformada, tal como una transformada wavelet con cualquier función base. El primer bloque de valores transformados se alimenta a un dispositivo 104 para redondear el primer bloque de valores transformados, para obtener en el lado de salida un primer bloque de valores transformados redondeados. El dispositivo 104 para el redondeo está configurado para realizar cualquier función de redondeo, tal como por ejemplo un redondeo mediante corte o un redondeo hacia arriba o hacia abajo que se lleve a cabo dependiendo del valor de coma flotante, etc.
La regla de redondeo que se implementa mediante el dispositivo 104 es por tanto responsable de que el primer bloque de valores transformados redondeados presente de nuevo solamente valores enteros, cuya precisión se determina mediante la regla de redondeo empleada por el dispositivo 104. El primer bloque de valores transformados redondeados se alimenta, al igual que el segundo bloque de valores discretos, que se encuentra en la segunda entrada 100b, a un dispositivo 106 para la suma, para obtener un segundo bloque de valores sumados. Si se considera el ejemplo de señal de audio, se observa que mediante el dispositivo 106 se suman valores espectrales del primer bloque de valores transformados redondeados a valores temporales del segundo bloque de valores discretos. Si estos valores discretos del segundo bloque se presentan por ejemplo como valores de tensión, se recomienda que el primer bloque de valores transformados redondeados se presente también como amplitudes de tensión, por tanto como valores con la unidad V. En este caso, no se espera ningún problema de unidades durante la sumación. Para los expertos es evidente, no obstante, que con el primer bloque de valores transformados redondeados o con el segundo bloque de valores discretos puede realizarse cualquier normalización de unidades, en el sentido de que tanto el primer bloque de valores transformados redondeados como el segundo bloque de valores discretos carecen por ejemplo de unidad.
El segundo bloque de valores sumados se alimenta a un dispositivo 108 para procesar el segundo bloque de valores sumados empleando una segunda regla de transformación para obtener un segundo bloque de valores transformados. Si la regla de transformación que se emplea en el dispositivo 102, es, por ejemplo, una regla de transformación tiempo-frecuencia, entonces, la segunda regla de transformación que se emplea en el bloque 108 es, por ejemplo, una regla de transformación frecuencia-tiempo. Sin embargo, estas relaciones puede ser inversas de manera que el primer y el segundo bloque de valores discretos son por ejemplo valores espectrales de manera que mediante el dispositivo 102 para el procesamiento bajo la regla de transformación se obtienen valores temporales, mientras que mediante el dispositivo para el procesamiento mediante la regla de transformación inversa, es decir el dispositivo 108, se obtienen de nuevo valores espectrales. La primera y la segunda regla de transformación pueden por tanto ser una regla de transformación directa y una inversa, siendo la regla de transformación inversa la regla de transformación inversa o la regla de transformación directa.
El segundo bloque de valores transformados, tal como se muestra en la figura 1, se alimenta en un dispositivo 110 de redondeo para obtener un segundo bloque de valores transformados redondeados que finalmente se alimenta a un dispositivo 112 de resta para restar el segundo bloque de valores transformados redondeados del primer bloque de valores discretos que se alimenta a través de la primera entrada 108a para obtener un bloque de valores de partida enteros de la representación transformada que puede emitirse en una salida 114. Mediante el procesamiento del bloque de valores de partida enteros de la representación transformada empleando una tercera regla de transformación cualquiera, que también se ha empleado en el dispositivo 102 o se diferencia del mismo, y mediante el redondeo posterior del bloque de valores de partida transformados para obtener un bloque de valores de partida transformados redondeados, y mediante la suma siguiente del bloque de valores de partida transformados redondeados y del segundo bloque de valores sumados puede obtenerse un bloque adicional de valores de partida enteros de la representación transformada, que con el bloque de valores de partida enteros que se encuentra en la salida 114 proporciona una representación transformada completa del primer y del segundo bloque de valores discretos.
Sin embargo, incluso sin las tres últimas etapas de procesamiento, redondeo y suma en las que se emplea el bloque de valores de partida enteros de la representación transformada en la salida 114, ya puede obtenerse una parte de la representación transformada total, concretamente, por ejemplo, la primera mitad, que cuando se somete al procesamiento inverso, permite un cálculo inverso del primer y del segundo bloque de valores discretos.
En este punto ha de indicarse que, según la regla de transformación, las reglas de transformación primera, segunda, y, dado el caso, tercera pueden ser idénticas. Éste es el caso, por ejemplo, en la DCT-IV. Si se empleara como primera regla de transformación una FFT, entonces, como segunda regla de transformación (inversa) podría emplearse la IFFT que no es idéntica a la FFT.
Por motivos de la técnica de cálculo se prefiere facilitar la regla de transformación en forma de una matriz que, cuando el número de valores discretos del primer bloque es igual al número de valores discretos del segundo bloque, es una matriz N x N cuadrada, cuando el número de los valores discretos del primer bloque y el número de valores discretos del segundo bloque en cada caso es igual a N.
Los dispositivos 104 y 110 de redondeo están configurados en un ejemplo de realización preferido de la presente invención para redondear según una función de redondeo que proporciona resultados redondeados, cuya exactitud es menor a una exactitud mecánica inherente a un ordenador que realiza las funcionalidades mostradas en la figura 1. Con respecto a la función de redondeo ha de indicarse que la misma solamente en un ejemplo de realización preferido transforma un número no entero en el siguiente número entero siguiente mayor o menor. La función de redondeo puede transformarse exactamente también en otros números enteros, tal como por ejemplo el número 17,5 en el número 10 o en el número 20 siempre que la función de redondeo provoque una disminución de la exactitud del número que va a redondearse. En el ejemplo anterior, el número no redondeado es un número con un lugar detrás de la coma, mientras que el número redondeado es un número que no tiene ningún lugar detrás de la coma.
Aunque en la figura 1 se muestra el dispositivo 102 para procesar empleando la primera regla de transformación y el dispositivo 108 para procesar empleando la segunda regla de transformación como dispositivos separados, ha de indicarse que en una implementación concreta solamente puede existir una unidad de función de transformación, que, controlada por un control de proceso especial, transforma primero el primer bloque de valores discretos y después, en un momento correspondiente del algoritmo, transforma inversamente el segundo bloque de valores sumados. Entonces, la primera y la segunda regla de transformación serían idénticas. Lo mismo es válido para los dos dispositivos 104, 110 de redondeo. Tampoco estos deben estar previstos como dispositivos separados, sino que pueden implementarse mediante una unidad de función de redondeo que, controlada de nuevo por el control de proceso según los requisitos del algoritmo, redondea primero el primer bloque de valores transformados y después redondea el segundo bloque de valores transformados.
En un ejemplo de realización preferido de la presente invención, el primer bloque de valores discretos y el segundo bloque de valores discretos son las muestras de números enteros con aplicación de ventana, tal como se obtienen a la salida del bloque 8 en la figura 9, que se explicará más adelante. La DCT de números enteros en el bloque 14 de la figura 9 se implementa entonces mediante el algoritmo de números de enteros mostrado en la figura 1, de tal manera que la representación transformada en el ejemplo de la señal de audio a la que se refiere la figura 9 representa los valores espectrales enteros en la salida 30 del dispositivo mostrado en la figura 9.
A continuación mediante la figura 2 se muestra un dispositivo para la conversión inversa que corresponde a la figura 1, en el que además del bloque de valores de partida enteros en la salida del bloque 112 de la figura 1 también se emplea el segundo bloque de valores sumados en la salida del dispositivo 106 de la figura 1. Con referencia a la figura 4, explicada a continuación más detalladamente, esto corresponde al caso en el que solamente existen los bloques 150 y 130, pero no el bloque 124 de transformación.
La figura 2 muestra un dispositivo según la invención para la conversión inversa de un bloque de valores de partida enteros de la representación transformada, tal como se obtiene en la salida 114 de la figura 1, y del segundo bloque de valores sumados. El segundo bloque de valores sumados se alimenta en una entrada 120 al dispositivo mostrado en la figura 2 para la conversión inversa. El bloque de valores de partida de la representación transformada se alimenta en una entrada 122 adicional al dispositivo para la conversión inversa.
El segundo bloque de valores sumados se alimenta a un dispositivo 130 para procesar este bloque empleando la segunda regla de transformación, si la regla de transformación empleada por última vez en la codificación era la segunda regla de transformación. El dispositivo 130 suministra en el lado de salida un primer bloque de valores transformados que se alimenta a un dispositivo 132 de redondeo, que en el lado de la salida crea de nuevo un primer bloque de valores transformados redondeados. El primer bloque de valores transformados redondeados se resta entonces mediante un dispositivo 134 del bloque de valores de partida de la representación transformada, para obtener el primer bloque de valores discretos en una primera salida 149 del dispositivo de la figura 2.
Este primer bloque de valores discretos se alimenta a un dispositivo 150 para procesar este bloque empleando la primera regla de transformación para obtener un segundo bloque de valores transformados en la salida del dispositivo 150. Este segundo bloque de valores transformados restados se redondea de nuevo en el dispositivo 152 para obtener un segundo bloque de valores transformados redondeados. Este segundo bloque de valores transformados redondeados se resta del segundo bloque de valores sumados proporcionado en el lado de la entrada, que se ha introducido a través de la entrada 120, para obtener un segundo bloque de valores discretos en el lado de salida en una salida 136.
Con respecto a la relación de la primera, segunda y tercera regla de transformación así como con respecto a la implementación especial de los bloques de función individuales en la figura 2 mediante unidades de función comunes y a un control de proceso/almacenamiento intermedio correspondiente, se remite a las realizaciones proporcionadas con referencia a la figura 1.
A continuación, con referencia a la figura 3 se explica un ejemplo de realización preferido del dispositivo mostrado en general en la figura 1 para la conversión en una representación transformada. El ejemplo de realización en la figura 1 comprende una transformación/redondeo adicional en comparación con la figura 1 para crear a partir del segundo bloque de valores sumados el bloque siguiente de valores de partida enteros.
La primera entrada 100a comprende N conductos x_{0}, ..., x_{N-1} de entrada para introducir N valores del primer bloque de valores discretos. La segunda entrada 100b comprende también N conductos para introducir los N valores x_{0}, ..., x_{N-1} del segundo bloque de valores discretos. El dispositivo 102 de la figura 1 se señala como transformador DCT-IV en la figura 3. El transformador 102 DCT está configurado para crear a partir de N valores de entrada N valores de salida de los cuales cada uno se redondea, tal como se muestra en la figura 3, mediante el dispositivo 104, mediante la regla de redondeo que se indica con "[.]". El dispositivo 106 para sumar se representa de tal manera que tiene lugar una suma de valores. Esto significa que el valor de partida del dispositivo 102 se suma con el índice 0 al primer valor del segundo bloque de valores discretos que tiene el índice N. En general, el valor del primer bloque de valores transformados redondeados por tanto en la salida del dispositivo 104 de redondeo con un número de orden i se suma individualmente al valor discreto del segundo bloque de valores de partida con un número de orden N +1, siendo i un índice continuo que se extiende de 0 a N-1.
El dispositivo 108 para el procesamiento empleando la segunda regla de transformación se indica también como transformador DCT-IV. El dispositivo 112 para restar está configurado también en el ejemplo de realización preferido mostrado en la figura 3 para realizar una resta de valores, y concretamente en el sentido de que los valores de partida del dispositivo 110 de redondeo, es decir, los valores del segundo bloque de valores transformados redondeados se restan individualmente del primer bloque de valores discretos. En el ejemplo de realización mostrado en la figura 3 se prefiere realizar una resta correspondiente, en el sentido de que un valor del segundo bloque con un número de orden N+i se resta de un valor del primer bloque con el número de orden i, variando i de nuevo de 0 a N-1. De manera alternativa, sin embargo, pueden realizarse también otras sumas/restas en el sentido de que, por ejemplo, un valor de un bloque con el número de orden N-1 se resta del valor del otro bloque con el número de orden N, siempre que esto se tenga en cuenta de manera correspondiente en la conversión inversa.
El dispositivo 112 para restar proporciona en el lado de la salida ya un bloque de números de partida enteros de la representación transformada, es decir los valores de partida enteros y_{0} a y_{n-1} de la representación transformada. Para, en el caso de que se desee opcionalmente, obtener los valores de partida enteros restantes de la representación transformada, es decir el bloque y_{N} a y_{2N-1} adicional, el bloque de valores de salida enteros de la representación transformada que se dispone en la salida 114, se somete a una transformación empleando la tercera regla de transformación mediante el transformador 140 directo, redondeándose de nuevo los valores de partida del mismo, tal como se muestra mediante el dispositivo 142 de redondeo, para realizar ahora una suma de estos valores con el segundo bloque de valores sumados en la salida del dispositivo 106 de suma, tal como se muestra mediante el número de referencia 144 en la figura 3. Los valores de partida del dispositivo 144 de suma representan entonces un bloque 146 adicional de valores de partida enteros de la representación transformada, que se indican con Y_{N} a Y_{2N-1}.
A continuación se explica un dispositivo según la invención para la conversión inversa de la representación transformada con referencia a la figura 4 según un ejemplo de realización preferido. Ha de indicarse que mediante el dispositivo mostrado en la figura 4 las operaciones realizadas en el dispositivo mostrado en la figura 3 pueden cancelarse sin pérdidas. La figura 4 corresponde a la figura 2 excepto en la etapa adicional de transformación/redondeo para crear, a partir del bloque adicional de valores de partida transformados, el segundo bloque de valores sumados que se alimenta en la entrada 120 en el ejemplo de realización mostrado en la figura 2. Ha de indicarse que la función de suma se invierte en cada caso mediante la función de resta. Además ha de indicarse que un par de dispositivo de suma/dispositivo de resta (144 de la figura 3 y 128 de la figura 4) también puede cargarse con variables de entrada invertidas con respecto al signo, de manera que el dispositivo 114 de suma, cuando un grupo de variables de entrada se carga con signos negativos en comparación con el caso mostrado, realiza una operación de resta, siempre que esto se tenga en cuenta en la pareja (128 en la figura 4) que realizaría realmente una operación de suma.
El dispositivo 128 de resta mostrado en la figura 4, el dispositivo 154 de suma, así como el dispositivo 154 de resta adicional se configuran de nuevo para realizar una suma/resta de valores individuales, empleándose de nuevo el mismo procesamiento de número de orden, tal como se ha explicado con referencia a la figura 3. Si en la figura 3 se empleara otra utilización de número de orden, distinta a la mostrada, entonces esto se tendría en cuenta de manera correspondiente en la figura 4.
En la salida del dispositivo 134 de resta ya está presente el primer bloque de valores 136 discretos que se indican con x_{0} a x_{N-1}. Para obtener también el resto de la representación transformada inversamente, el primer bloque de valores discretos se alimenta al transformador 150 que trabaja con la primera regla de transformación, cuyos valores de partida se redondean mediante el dispositivo 152 de redondeo y se restan del segundo bloque de valores restados en la salida del dispositivo 128 de resta para obtener finalmente también el segundo bloque de valores discretos 156 que se indican con x_{N}, ..., x_{2N-1}.
A continuación, con referencia a las figuras 5 a 8, se aclara el trasfondo matemático de los dispositivos de la invención, tal como se han mostrado mediante las figuras 1 a 4. Mediante el dispositivo mostrado de conversión o de conversión inversa, según la invención, se crean procedimientos de transformación de números enteros para una codificación de audio sin pérdidas, en los que se reduce el error de aproximación. Además, también se considera el esfuerzo de cálculo en el sentido de que el planteamiento de solución conocido de la utilización del esquema de elevación ya no se plantea en cada rotación de Givens, apareciendo en éste siempre mariposas de sumas-diferencias triviales. Éstas aumentan considerablemente el esfuerzo de cálculo en comparación con la versión original de números no enteros de la transformación que va a realizarse.
Habitualmente se emplea el esquema de elevación para obtener una aproximación de números enteros que puede invertirse de una rotación de Givens.
1
Esta aproximación de números enteros se consigue empleando una función de redondeo después de cada suma, es decir después de cada etapa de elevación.
El esquema de elevación puede emplearse también para una aproximación de números enteros que puede invertirse de operaciones de ajuste a escala determinadas. En la publicación especializada R. Geiger y G. Schuller, "Integer low delay and MDCT filter banks" Actas de la conferencia de Asilomar de Señales, Sistemas y Ordenadores, 2002 se muestra y se describe la descomposición de elevación siguiente de una matriz de ajuste a escala 2 x 2 con un determinante igual a 1.
2
Según la invención, esta descomposición de elevación, que es unidimensional, es decir que se refiere solamente a una matriz de ajuste a escala 2 x 2, se amplia en el caso multidimensional. En particular, todos los valores de la ecuación anterior se sustituyen por matrices nxn, siendo n, por tanto el número de valores discretos de un bloque, mayor o igual a 2. Por tanto se deduce que para cualquier matriz T nxn, que preferiblemente pueda invertirse, es posible la siguiente descomposición en matrices de bloques 2n x 2n, describiendo E_{n} la matriz identidad n x n:
3
Además de operaciones sencillas, como permutaciones o multiplicaciones con -1, los tres bloques de esta descomposición tienen la estructura general siguiente
4
Para esta matriz de bloques 2n x 2n puede emplearse un esquema de elevación generalizado según la invención, que se denomina también en lo sucesivo como elevación multidimensional.
Para un vector de los valores x = (x_{0,}..., x_{2n-1}) la aplicación de esta matriz de bloques proporciona la siguiente ecuación:
5
Ha de indicarse que en el lado derecho de la ecuación anterior se dispone un vector cuya dimensión, es decir, su número de líneas es igual a 2n. Las primeras n componentes, es decir las componentes de 0 a n-1 corresponden a de x_{0} a x_{n-1}. Las segundas n componentes, es decir la segunda mitad del vector que se produce en el lado derecho de la ecuación anterior, son iguales a una suma del segundo bloque de valores discretos, es decir x_{n}, ..., x_{2n-1}, sumado ahora sin embargo a la multiplicación de la matriz A, que corresponde a la matriz de transformación de las figuras 1 a 4 y al primer bloque de valores discretos x_{0}, ..., x_{n-1}. La matriz de transformación representa la primera, la segunda o la tercera regla de transformación.
De manera similar al esquema de elevación habitual con matrices 2 x 2 de la forma
6
estas matrices 2n x 2n pueden emplearse para aproximaciones de números enteros que pueden invertirse de la transformación T de la siguiente manera. Para valores (x_{0}, ..., x_{2n-1}) enteros iniciales se redondean los valores (Y_{0}, ..., Y_{n-1}) = A\cdot(x_{0}, ..., x_{n-1}) de partida de coma flotante, y concretamente en valores enteros, antes de sumarse a los valores
(x_{0}, ..., x_{2n-1}) enteros. La inversa de la matriz de bloques se produce de la siguiente manera.
7
Por tanto, este proceso puede invertirse sin errores empleándose simplemente la misma matriz A y la misma función de redondeo y restando los valores resultantes en lugar de la suma en el procesamiento directo. El procesamiento directo se muestra en la figura 6, mientras que el procesamiento inverso se muestra en la figura 7. Ha de indicarse que la matriz de transformación en la figura 6 es idéntica a la matriz de transformación en la figura 7, lo que se prefiere por motivos de sencillez de la implementación.
Puesto que los valores (x_{0}, ..., x_{n-1}) no se modifican en la etapa directa, que se muestra en la figura 6, todavía están presentes para la etapa inversa, es decir para la etapa de inversión en la figura 7. Ha de indicarse que no existen restricciones especiales para la matriz A. Por tanto, no es necesario que la misma deba poder invertirse.
Para obtener una aproximación de números enteros que puede invertirse de las conocidas MDCT, la MDCT se descompone en una primera fase en rotaciones de Givens, siendo esta fase la fase de aplicación de ventana y una fase DCT-IV siguiente. Esta descomposición se muestra en la figura 10 que va a explicarse a continuación y se describe detalladamente en el documento DE 10129240 A1.
En contraposición al estado de la técnica en el que las DCT-IV se descomponen en rotaciones de Givens, la transformación se deja según la invención y después se redondea.
De manera conocida, por tanto, la transformación de números enteros de la DCT-IV se realiza mediante varias fases de rotaciones de Givens basadas en la elevación. El número de rotaciones de Givens se determina mediante el algoritmo rápido empleado en el que se basan. De esta manera, el número de rotaciones de Givens se proporciona mediante O (N log N) para una transformación de longitud N. La fase de aplicación de ventana de cada descomposición MDCT se compone solamente de N/2 rotaciones de Givens o de 3N/2etapas de redondeo. De esta manera, especialmente en longitudes de transformación que son altas, tal como las que se emplean en aplicaciones de codificación de audio (por ejemplo 1024), la aproximación de números enteros de las DCT-IV proporciona la cantidad principal para el error de aproximación.
El planteamiento de solución según la invención emplea el esquema de elevación multidimensional descrito. Con ello el número de etapas de redondeo en la DCT_{IV} se reduce a 3N/2, es decir se iguala al número de etapas de redondeo en la fase de aplicación de ventana, y concretamente en comparación con las aproximadamente 2N log_{2} N etapas de redondeo en el planteamiento de solución basado en la elevación convencional.
Según la invención, la DCT-IV se emplea simultáneamente en dos bloques de señales. Una posibilidad para esto se muestra en la figura 5, en la que simplemente, por ejemplo, dos bloques de muestras que se suceden en el tiempo se someten a una DCT-IV. Ambos bloques que se someten a las dos transformaciones podrían ser sin embargo también muestras de dos canales de una señal multicanal.
La descomposición de la ecuación de elevación multidimensional descrita anteriormente se aplica a la regla de transformación, que también puede considerarse como matriz N x N. Dado que la inversa, especialmente en la DCT-IV, es de nuevo la DCT-IV, se produce la siguiente descomposición para el concepto mostrado en la figura 5:
8
Las permutaciones de las multiplicaciones con -1 pueden extraerse en matrices de bloques propias de manera que se produce la siguiente relación:
9
De este modo, puede obtenerse la aplicación de una transformación en dos bloques de señales, es decir en dos bloques de valores discretos, con preferiblemente tres etapas de elevación multidimensional.
10
La ecuación anterior se muestra gráficamente en la figura 3 mediante un ejemplo de realización preferido de la presente invención. La conversión inversa, tal como se ha expuesto, se ilustra de manera correspondiente en la figura 4.
Con el planteamiento de solución según la invención pueden implementarse dos transformadas DCT-IV de la longitud N de manera que pueden invertirse, necesitándose solamente 3N etapas de redondeo, es decir 3N/2 etapas de redondeo por transformada.
La DCT-IV en las tres etapas de elevación multidimensional puede presentar una implementación cualquiera, es decir, por ejemplo una implementación basada en una coma flotante o una coma fija. Ni siquiera debe poder invertirse una vez. Solamente debe realizarse exactamente de la misma manera en el proceso directo y el proceso inverso. Esto lleva a que este concepto sea adecuado para longitudes de transformación altas, por ejemplo de 1024, tal como se emplean en aplicaciones de codificación de audio actuales.
Toda la complejidad de cálculo es igual a 1,5 veces la complejidad de cálculo de la implementación de números no enteros de las dos transformadas DCT-IV. Esta complejidad de cálculo es todavía claramente más baja que las implementaciones de números enteros basadas en la elevación convencional, que es aproximadamente el doble de compleja que la DCT-IV convencional, dado que estas implementaciones deben emplear las mariposas de suma/resta triviales que se basan en el esquema de elevación empleado para conseguir mantener una energía, tal como se describe en R. Geiger, T. Sporer, J Koller y K. Brandenburg, "Audio Coding based on Integer Transforms" en la 111ª Convención AES, Nueva York, 2001.
El planteamiento de solución mostrado calculará al menos dos transformadas DCT-IV de alguna manera simultáneamente, es decir dentro de una conversión. Esto puede conseguirse por ejemplo calculando la transformada DCT-IV para dos bloques consecutivos de la señal de audio o dos imágenes consecutivas de una señal de imagen. En el caso de una señal estéreo de dos canales esto puede conseguirse también calculando la DCT-IV del canal izquierdo y del derecho en una acción de conversión o una acción de conversión inversa. La primera versión introduce un retardo adicional de un bloque en el sistema. La segunda versión es posible para canales estéreo o dicho en general para señales multicanal.
Alternativamente si no se desean ambas opciones, cuando sin embargo debe mantenerse una longitud de procesamiento de bloque de N valores, puede descomponerse también la DCT-IV de la longitud N en dos transformadas DCT-IV de la longitud N/2. En este contexto se remite a Y. Zeng, G. Bi y Z. Lin, "Integer sinusoidal transforms based on lifting factorization" en ICASSP'01, mayo de 2001, págs. 1181-1184, donde se explica esta descomposición. Adicionalmente a las dos transformadas DCT de longitud N/2 se necesitan aún algunas fases adicionales de rotaciones de Givens. En este algoritmo se aplica además una matriz de bloques
11
es decir, mariposas de suma/resta, una matriz diagonal de bloques con rotaciones de Givens N/2 y además algunas matrices de permutación. Aplicando estas fases adicionales de rotaciones de Givens N/2 puede emplearse el enfoque de elevación multidimensional también para el cálculo solamente de una DCT-IV de longitud N. La estructura básica de este algoritmo se muestra en la figura 8 en la que además de la fase de inversión real, en la que se emplean dos transformadas DCT-IV con la longitud N/2 se presenta en primer lugar una fase de mariposa para calcular el primer y el segundo bloque de valores discretos que ahora sin embargo presentan solamente una longitud de N/2.
En el lado de la salida se prevé además una fase de rotación, para a partir del bloque de valores de partida de la representación transformada y del bloque adicional de valores de partida de la representación transformada, que ahora sin embargo únicamente tienen N/2 valores en cada caso, obtener los valores de partida y_{0}, ..., y_{N-1}, que son iguales a los valores de partida de una operación DCT-IV de la figura 5, tal como puede observarse a partir de una comparación del índice en el lado de la entrada y en el lado de la salida de la figura 8 y la figura 5.
Hasta ahora sólo se expuso la aplicación de elevaciones multidimensionales en matrices de bloques de la siguiente forma.
12
Aún así también es posible, descomponer otras matrices de bloques en etapas de elevación multidimensional. Por ejemplo puede utilizarse la siguiente descomposición, para implementar la combinación de una fase con mariposas normalizadas de suma/resta y dos bloques de transformadas de DCT-IV mediante tres etapas de la elevación multidimensional.
13
A partir de la ecuación anterior se observa que la primera regla de transformación, que se utiliza en el paréntesis izquierdo de la ecuación anterior, y la segunda regla de transformación, que se utiliza en el paréntesis intermedio de la ecuación anterior, y la tercera regla de transformación, que se utiliza en el último paréntesis de la ecuación anterior, no tienen que ser idénticas. Además a partir de la ecuación anterior se observa que no sólo pueden descomponerse matrices de bloques, en las que sólo estén ocupados los elementos diagonales principales, sino que también pueden procesarse según la invención matrices completamente ocupadas. Además debe indicarse que la presente invención no está limitada a que las reglas de transformación, que se utilizan en una representación transformada durante la conversión, deban ser idénticas o si quiera deban tener alguna relación entre sí, de tal manera que, por ejemplo la segunda regla de transformación es la regla de transformación inversa con respecto a la primera regla de transformación. En principio pueden utilizarse también tres reglas de transformación diferentes entre sí, siempre que esto se tenga en cuenta en la representación inversa.
En este contexto vuelve a hacerse referencia a la figura 3 y a la figura 4. Durante la conversión de los valores discretos en una representación transformada el dispositivo 102 puede estar configurado, para implementar una regla 1 de transformación cualquiera. Además el dispositivo 108 puede estar configurado también, para utilizar cualquier otra regla de transformación o la misma, que se designa como segunda regla de transformación. Además el dispositivo 140 puede estar configurado, para utilizar en general una tercera regla de transformación cualquiera, que no necesariamente tiene que ser igual a la primera o la segunda regla de transformación.
Sin embargo, durante la conversión inversa de la representación transformada debe encontrarse una adaptación a las reglas 1-3 de transformación presentadas en la figura 3, para que el primer dispositivo 124 no realice para la conversión una regla de transformación cualquiera, sino la tercera regla de transformación, que se ha realizado en el bloque 140 de la figura 3. De manera correspondiente el dispositivo 130 en la figura 4 debe realizar la segunda regla de transformación, que también se ha realizado mediante el bloque 108 en la figura 3. Finalmente el dispositivo 150 de la figura 4 debe realizar la primera regla de transformación, que también se ha realizado mediante el dispositivo 102 de la figura 3, para obtener una conversión inversa sin pérdidas.
A continuación con referencia a las figuras 9 a 11, se vuelve a representar la descomposición de la aplicación de ventana de MDCT, tal como se describe en el documento DE 10129240 A1, pudiendo combinar esta descomposición de la aplicación de ventana de MDCT en rotaciones de Givens con matrices de elevación y redondeos correspondientes de manera ventajosa con el concepto expuesto en la figura 1 para la conversión y la figura 2 para la conversión inversa, para obtener una aproximación de MDCT de números enteros completa, esto es una MDCT entera (IntMDCT) según la presente invención, realizando tanto un concepto de transformación inversa como también directa en el ejemplo de una MDCT.
La figura 9 muestra un diagrama general del dispositivo preferido según la invención para procesar muestras discretas en el tiempo, que representan una señal de audio, para obtener valores enteros, sobre los que trabaja el algoritmo de transformación de número entero MDCT-Int de manera constructiva. A las muestras discretas en el tiempo se les aplica una ventana mediante el dispositivo mostrado en la figura 9 y se convierten opcionalmente en una representación espectral. A las muestras discretas en el tiempo, que se alimentan en una entrada 10 en el dispositivo, se les aplica una ventana w con una longitud, que corresponde a 2N muestras discretas en el tiempo, para conseguir muestras con aplicación de ventanas de números enteros en una salida 12, que sean adecuadas para convertirse mediante una transformación y especialmente el dispositivo 14 para la realización de una DCT de números enteros en una representación espectral. La DCT de números enteros está configurada, para generar a partir de N valores de entrada N valores de salida, lo que se opone a la función 408 de MDCT de la figura 12a, que a partir de 2N muestras con aplicación de ventana por la ecuación de MDCT sólo genera N valores espectrales.
Para la aplicación de ventana en las muestras discretas en el tiempo se seleccionan en primer lugar en un dispositivo 16 dos muestras discretas en el tiempo, que conjuntamente representan un vector de las muestras discretas en el tiempo. Una muestra discreta en el tiempo, que se selecciona mediante el dispositivo 16, se encuentra en el primer cuarto de la ventana. La otra muestra discreta en el tiempo se encuentra en el segundo cuarto de la ventana, tal como se expone mediante la figura 11 aún más detalladamente. El vector generado mediante el dispositivo 16 se carga ahora con una matriz de rotación con la dimensión 2 x 2, no realizándose esta operación directamente, sino mediante varias denominadas matrices de elevación.
Una matriz de elevación tiene la propiedad de que sólo presenta un elemento, que depende de la ventana w y es diferente a "1" o "0".
La factorización de transformadas de wavelet en etapas de elevación se representa en la publicación técnica "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies y Wim Sweldens, preimpresión, Bell Laboratories, Lucent Technologies, 1996. En general un esquema de elevación es una relación sencilla entre pares de filtros que se reconstruyen perfectamente, que tienen el mismo filtro de baja frecuencia o de alta frecuencia. Cada par de filtros complementarios puede factorizarse en etapas de elevación. Esto es especialmente válido para rotaciones de Givens. Debe considerarse el caso, en el que la matriz de fases múltiples es una rotación de Givens. Entonces vale que:
14
Cada una de las tres matrices de elevación dispuestas a la derecha del signo de igualdad tiene como elementos diagonales principales el valor "1". Además en cada matriz de elevación un elemento diagonal secundario es igual a 0, y un elemento diagonal secundario es dependiente del ángulo \alpha de giro.
Ahora el vector se multiplica con la tercera matriz de elevación, es decir con la matriz de elevación a la derecha del todo en la ecuación anterior, para obtener un primer vector de resultado. Esto se representa en la figura 9 mediante un dispositivo 18. Ahora se redondea el primer vector de resultado con una función de redondeo aleatoria, que transforma la cantidad en números reales en la cantidad en números enteros, tal como se representa en la figura 9 mediante un dispositivo 20. A la salida del dispositivo 20 se obtiene un primer vector de resultado redondeado. El primer vector de resultado redondeado se alimenta ahora en un dispositivo 22 para multiplicar el mismo con la matriz de elevación intermedia, es decir, la segunda, para obtener un segundo vector de resultado, que a su vez se redondea en un dispositivo 24, para obtener un segundo vector de resultado redondeado. El segundo vector de resultado redondeado se alimenta ahora en un dispositivo 26, y más concretamente para multiplicar el mismo con la matriz de elevación presentada a la izquierda en la ecuación anterior, es decir, la primera matriz, para obtener un tercer vector de resultado, que finalmente se redondea aún mediante un dispositivo 28, para obtener finalmente en la salida 12 muestras con aplicación de ventana de números enteros, que ahora, en caso de que se desee una representación espectral de las mismas, deben procesarse mediante el dispositivo 14, para obtener una salida 30 espectral de valores espectrales enteros.
Preferiblemente el dispositivo 14 se realiza como DCT de números enteros o DCT de enteros.
La transformada de coseno discreta según el tipo 4 (DCT-IV) con una longitud N se da mediante la ecuación siguiente:
\vskip1.000000\baselineskip
15
\vskip1.000000\baselineskip
Los coeficientes de la DCT-IV forman una matriz ortonormal N x N. Cada matriz N x N ortogonal puede descomponerse en rotaciones de Givens N(N-1)/2 tal como se indica en la publicación especializada P. P. Vaidyanathan, "Multirate Systems And Filter Banks", Prentice Hall, Englewood Cliffs, 1993. Debe indicarse que también existen otras descomposiciones.
Con respecto a las clasificaciones de los diferentes algoritmos de DCT debe hacerse referencia a H. S. Malvar, "Signal Processing With Lapped Transforms", Artech House, 1992. En general, los algoritmos de DCT se diferencian por el tipo de sus funciones básicas. Mientras que la DCT-IV, que se prefiere en el presente documento, comprende funciones básicas no simétricas, es decir un cuarto de onda de coseno, una onda de 3/4 de coseno, una onda de 5/4 de coseno, una onda de 7/4 de coseno, etc. la transformada de coseno discreta por ejemplo del tipo II (DCT-II) funciones básicas axisimétricas y de simetría puntual. La función básica de orden 0 tiene una componente constante, la primera función básica es media onda de coseno, la segunda función básica es una onda de coseno completa, etc. A causa del hecho, de que la DCT-II considera especialmente la componente constante, se utiliza en la codificación de vídeo, pero no en la codificación de audio, puesto que en la codificación de audio al contrario que en la codificación de vídeo la componente constante no es relevante.
A continuación se hará referencia a la forma en la que el ángulo \alpha de giro de la rotación de Givens depende de la función de ventana
Una MDCT con una longitud de ventana de 2N puede reducirse en una transformada de coseno discreta del tipo IV con una longitud N. Esto se consigue porque la operación de TDAC se realiza de manera explícita en el intervalo de tiempo y porque luego se aplica la DCT-IV. Con un solapamiento del 50% la mitad izquierda de la ventana para un bloque t se solapa con la mitad derecha del bloque anterior, es decir del bloque t-1. La parte que se solapa de dos bloques t-1 y t consecutivos se procesa previamente en el intervalo de tiempo, es decir antes de la transformación, de la siguiente manera, es decir, se procesa entre la entrada 10 y la salida 12 de la figura 9:
\vskip1.000000\baselineskip
16
\vskip1.000000\baselineskip
Los valores designados con la tilde son los valores en la salida 12 de la figura 9, mientras que los valores x designados en la ecuación anterior sin tilde son los valores de selección en la entrada 10 o detrás del dispositivo 16. El índice k continuo va desde 0 hasta N/2-1, mientras que w representa la función de ventana.
\newpage
A partir de la condición de TDAC para la función w de ventana es válida la siguiente relación:
17
Para determinados ángulos \alpha_{k}, k = 0, ..., N/2-1 este procesamiento previo puede escribirse en el intervalo de tiempo como rotación de Givens, tal como se ha expuesto.
El ángulo \alpha de la rotación de Givens depende de la función w de ventana de la siguiente manera:
(5)\alpha = arctan [w(N/2-1-k)/w(N/2 + k)]
Debe hacerse referencia a que puede introducirse cualquier función w de ventana, siempre que cumplan esta condición de TDAC.
A continuación se describirá mediante la figura 10 un decodificador y un codificador en cascada. Las muestras x(0) a x(2N-1) discretas en el tiempo, a las que se "aplica una ventana" conjuntamente mediante una ventana, se seleccionan en primer lugar mediante el dispositivo 16 de la figura 9 de tal manera que se seleccionan la muestra x(0) y la muestra x(N-1), es decir una muestra a partir del primer cuarto de la ventana y una muestra a partir del segundo cuarto de la ventana, para formar el vector en la salida del dispositivo 16. Las flechas que se entrecruzan representan esquemáticamente las multiplicaciones de elevación y redondeos posteriores de los dispositivos 18, 20 ó 22, 24 ó 26, 28, para obtener las muestras con aplicación de ventana de números enteros en la entrada de los bloques de DCT-IV.
Cuando se procesa el primer vector tal como se describió anteriormente, se selecciona adicionalmente un segundo vector a partir de las muestras x(N/2-1) y x(N/2), es decir de nuevo una muestra a partir del primer cuarto de la ventana y una muestra a partir del segundo cuarto de la ventana y a su vez se procesa mediante el algoritmo descrito en la figura 9. De manera análoga se procesan todos los demás pares de muestras a partir del primer y del segundo cuarto de ventana. El mismo procesamiento se lleva a cabo para el tercer y cuarto cuarto de la primera ventana. Ahora existen en la salida 12 2N muestras de números enteros con aplicación de ventana, que ahora, tal como representa la figura 10, se alimentan a una transformada de DCT-IV. En especial se alimentan las muestras con aplicación de ventana de números enteros del segundo y tercer cuarto en una DCT. Las muestras de números enteros con aplicación de ventana del primer cuarto de la ventana se procesan en una DCT-IV anterior junto con las muestras de números enteros con aplicación de ventana del cuarto cuarto de la ventana anterior. De manera análoga se alimenta el cuarto cuarto de las muestras de números enteros con aplicación de ventana en la figura 10 con el primer cuarto de la ventana siguiente conjuntamente en una transformada de DCT-IV. La transformada 32 intermedia de DCT-IV de números enteros mostrada en la figura 10 proporciona ahora N valores espectrales enteros de y(0) a y(N-1). Ahora estos valores espectrales enteros pueden codificarse por ejemplo por entropía de manera sencilla, sin necesitar una cuantificación intermedia, puesto que la aplicación de ventana y la transformada proporciona valores de partida enteros.
En la mitad derecha de la figura 10 es representa un decodificador. El decodificador compuesto por transformación inversa y "aplicación inversa de ventana" trabaja de manera inversa con respecto al codificador. Se conoce, que para la transformación inversa de una DCT-IV puede utilizarse una DCT-IV inversa, tal como representa la figura 10. Los valores de partida de la DCT-IV 34 de decodificador se procesan ahora, tal como representa la figura 10, de manera inversa con los valores correspondientes de la transformada anterior o la transformada posterior, para volver a generar a partir de las muestras con aplicación de ventana de números enteros en la salida del dispositivo 34 o de la transformada anterior y posterior muestras de x(0) a x(2N-1) de audio discretas en el tiempo.
La operación en el lado de salida se produce mediante una rotación de Givens, es decir de tal manera, que los bloques 26, 28 ó 22, 24 ó 18, 20 se atraviesan en la dirección opuesta. Esto se representa con más detalle mediante la segunda matriz de elevación de la ecuación 1. Cuando (en el codificador) el segundo vector de resultado se forma mediante multiplicación del primer vector de resultado redondeado con la segunda matriz de elevación (dispositivo 22), así se obtiene la siguiente expresión:
(6)(x, y) \mapsto (x, y + x \ sen \ \alpha)
Los valores x, y en el lado derecho de la ecuación 6 son números enteros. Sin embargo, esto no se cumple para el valor x sen \alpha. Aquí debe introducirse la función r de redondeo tal como representa la siguiente ecuación
(7)(x, y) \mapsto (x, y + r(x \ sen \ \alpha))
Esta operación la realiza el dispositivo 24.
\newpage
La transformación inversa (en el decodificador) se define de la siguiente manera:
(8)(x', y') \mapsto (x', y' - r(x' \ sen \ \alpha))
Debido al signo menos antes de la operación de redondeo se observa que puede invertirse la aproximación de números enteros de la etapa de elevación, sin introducir un error. La aplicación de esta aproximación a cada una de las tres etapas de elevación conduce a una aproximación de números enteros de la rotación de Givens. La rotación redondeada (en el codificador) puede invertirse (en el decodificador), sin introducir un error, y más concretamente llevando a cabo las etapas de elevación redondeadas inversas en orden inverso, es decir cuando durante la decodificación el algoritmo de la figura 9 se realiza desde abajo hacia arriba.
Cuando la función r de redondeo es de simetría puntual, la rotación redondeada inversa es idéntica a la rotación redondeada con el ángulo -\alpha y se expresa de la siguiente manera:
21
Las matrices de elevación para el decodificador, es decir para la rotación de Givens inversa, se obtienen en este caso directamente a partir de la ecuación (1), sustituyendo únicamente la expresión "sen \alpha" por la expresión "-sen \alpha".
A continuación vuelve a representarse mediante la figura 11 la descomposición de una MDCT habitual con ventanas 40 a 46 solapadas. Las ventanas 40 a 46 se solapan en cada caso en un 50%. Por ventana se realizan en primer lugar rotaciones de Givens dentro del primer y del segundo cuarto de una ventana o dentro del tercer y del cuarto cuarto de una ventana, tal como representan las flechas 48 de manera esquemática. A continuación se alimentan los valores rotados, es decir las muestras de números enteros con aplicación de ventana en una DCT de N a N de tal manera que siempre el segundo y el tercer cuarto de una ventana o el cuarto y el primer cuarto de una ventana consecutiva se convierten conjuntamente mediante un algoritmo de DCT-IV en una representación espectral.
Por tanto la rotación de Givens habitual se descompone en matrices de elevación, que se realizan de manera secuencial, introduciendo tras cada multiplicación de matriz de elevación una etapa de redondeo, de tal manera que los números de coma flotante se redondean directamente tras su generación, de tal manera que antes de cada multiplicación de un vector de resultado con una matriz de elevación el vector de resultado sólo tiene números enteros.
Los valores de partida siempre permanecen por tanto como valores enteros, prefiriendo utilizar también valores de entrada de número entero. Esto no supone ninguna limitación, puesto que por ejemplo todas las muestras de PCM, tal como se almacenan en un CD son valores de números enteros, cuyo intervalo de valores varía según el ancho de bit, es decir, en función de si los valores de entrada digitales discretos en el tiempo son valores de 16 bits o valores de 24 bits. Aún así puede invertirse todo el proceso, tal como se ha expuesto, realizando las rotaciones inversas en orden inverso. Así existe una aproximación de la MDCT de números enteros con una reconstrucción perfecta, esto es, una transformación sin pérdidas.
La transformación mostrada proporciona valores de partida enteros en lugar de valores de coma flotante. Proporciona una reconstrucción perfecta, de modo que no se introduce ningún error, cuando se realiza una transformación directa y luego una transformación inversa. Según un ejemplo de realización preferido de la presente invención la transformación es una sustitución para la transformada de coseno discreta modificada. Sin embargo también pueden realizarse otros procedimientos de transformación de números enteros, siempre que sea posible una descomposición en rotaciones y una descomposición de las rotaciones en etapas de elevación.
La MDCT de números enteros tiene la mayor parte de las propiedades favorables de la MDCT. Tiene una estructura de solapamiento, por lo que se obtiene una mejor selectividad de frecuencia que en el caso de transformaciones de bloque que no se solapan. Debido a la función de la TDAC, que ya se considera durante la aplicación de ventana antes de la transformación, se mantiene un muestreo crítico, de modo que la totalidad de valores espectrales, que representan una señal de audio, son iguales a la totalidad de muestras de entrada.
En comparación con una MDCT normal, que proporciona muestras de coma flotante, se demuestra durante la transformación de números enteros preferida descrita, que sólo en la banda espectral, en la que hay poco nivel de señal, ha aumentado el ruido en comparación con la MDCT normal, mientras que este aumento del ruido no es perceptible en el caso de niveles de señal significativos. Para ello es adecuado el procesamiento de números enteros para una implementación de hardware eficaz, puesto que sólo se utilizan etapas de multiplicación, que pueden descomponerse sin más en etapas de desplazamiento-suma ("etapas de shift/add"), que pueden implementarse de manera sencilla y rápida con respecto al hardware. Evidentemente también es posible una implementación de software.
La transformación de números enteros proporciona una buena representación espectral de la señal de audio y aún así, permanece en el intervalo de los números enteros. Si se aplica a componentes tonales de una señal de audio, esto da como resultado una buena concentración de energía. Con ello puede construirse un esquema de codificación eficaz y sin pérdidas, realizando simplemente en cascada la aplicación de ventana/transformación representada en la figura 9 con un codificador de entropía. Es especialmente favorable una codificación apilada ("stacked coding") empleando valores de escape, tal como se utiliza en el MPEG AAC. Se prefiere ajustar en escala descendente todos los valores en una potencia determinada de dos, hasta que entren en una tabla de códigos deseada, y luego codificar adicionalmente los bits de menor valor eliminados. En comparación con la alternativa del uso de tablas de códigos más grandes la alternativa descrita es mejor con respecto al consumo de la memoria para almacenar las tablas de códigos. También podría obtenerse un codificador prácticamente sin pérdidas eliminando simplemente determinados bits de menor valor.
Especialmente para señales tonales una codificación de entropía de los valores espectrales de números enteros permite una ganancia de codificación elevada. Para componentes transitorias de la señal la ganancia de codificación es reducida, y más concretamente debido al espectro plano de las señales transitorias, es decir debido a un número reducido de valores espectrales, que son iguales a o prácticamente 0. Tal como se describe en J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)" 101. Convención AES, Los Ángeles, 1996, preimpresión 4384, puede utilizarse sin embargo esta planeidad utilizando una predicción lineal en la gama de frecuencias. Una alternativa es una predicción con bucle abierto. Otra alternativa es el predictor en bucle cerrado. La primera alternativa, es decir el predictor con bucle abierto, se denomina TNS. La cuantificación tras la predicción conduce a una adaptación del ruido de cuantificación resultante a la estructura temporal de la señal de audio y de este modo impide ecos previos en codificadores de audio psicoacústicos. Para una codificación de audio sin pérdidas es más adecuada la segunda alternativa, es decir con un predictor con bucle cerrado, dado que la predicción con bucle cerrado permite una reconstrucción precisa de la señal de entrada. Cuando se aplica esta técnica a un espectro generado, debe realizarse una etapa de redondeo tras cada etapa del filtro de predicción, para permanecer en el intervalo de los números enteros. Mediante la utilización del filtro inverso y de la misma función de redondeo puede volver a establecerse exactamente el espectro original.
Para aprovechar la redundancia entre dos canales para la reducción de datos, puede utilizarse también sin pérdidas una codificación MS (mid-side), cuando se utiliza una rotación redondeada con un ángulo \pi/4. En comparación con la alternativa del cálculo de la suma y la diferencia del canal izquierdo y derecho de una señal estéreo la rotación redondeada tiene la ventaja de la conservación de energía. La utilización de las denominadas técnicas de codificación joint stereo puede apagarse o encenderse para cada banda tal como también se realiza en la norma MPEG AAC. También pueden considerarse otros ángulos de rotación, para poder reducir una redundancia entre dos canales de una manera más flexible.
En función de las características el procedimiento según la invención puede implementarse para convertir o convertir de manera inversa o transformar en tiempo-frecuencia o transformar en frecuencia-tiempo en hardware o en software. La implementación puede llevarse a cabo en un medio de almacenamiento digital, especialmente un disquete o CD con señales de control electrónicamente legibles, que pueden interactuar con un sistema informático programable, de modo que pueda realizarse el procedimiento. De este modo la invención se presenta en general en un producto de programa informático con un código de programa almacenado en un soporte legible a máquina para la realización de un procedimiento según la invención, cuando el producto de programa informático funciona en un ordenador. Expresado en otras palabras la invención puede realizarse de este modo como un programa informático con un código de programa para la realización del procedimiento, cuando el programa informático se ejecuta en un ordenador.

Claims (24)

1. Dispositivo para la conversión de valores discretos en una representación transformada con valores enteros, en el que los valores discretos presentan información de audio y/o imágenes, con las siguientes características:
un dispositivo (102) para procesar un primer bloque de valores discretos empleando una primera regla de transformación, para obtener un primer bloque de valores transformados;
un dispositivo (104) para redondear el primer bloque de valores transformados, para obtener un primer bloque de valores transformados redondeados;
un dispositivo (106) para sumar el primer bloque de valores transformados redondeados a un segundo bloque de valores discretos, para obtener un segundo bloque de valores sumados;
un dispositivo (108) para procesar el segundo bloque de valores sumados empleando una segunda regla de transformación, para obtener un segundo bloque de valores transformados;
un dispositivo (110) para redondear el segundo bloque de valores transformados, para obtener un segundo bloque de valores transformados redondeados; y
un dispositivo (112) para restar el segundo bloque de valores transformados redondeados del primer bloque de valores discretos, para obtener un bloque de valores de partida enteros de la representación transformada.
2. Dispositivo según la reivindicación 1, que presenta además las siguientes características:
un dispositivo (140) para procesar el bloque de valores de partida enteros empleando una tercera regla de transformación, para obtener un bloque de valores de partida transformados;
un dispositivo (142) para redondear el bloque de valores de partida transformados, para obtener un bloque de valores de partida transformados redondeados; y
un dispositivo (144) para sumar el bloque de valores de partida transformados redondeados y el segundo bloque de valores sumados, para obtener un bloque adicional de valores de partida enteros de la representación transformada.
3. Dispositivo según la reivindicación 1 ó 2, en el que la primera regla de transformación, la segunda regla de transformación o la tercera regla de transformación comprenden una matriz de transformación.
4. Dispositivo según una de las reivindicaciones anteriores, en el que la primera regla de transformación, la segunda regla de transformación o la tercera regla de transformación son idénticas entre sí.
5. Dispositivo según una de las reivindicaciones anteriores, en el que la primera regla de transformación y la tercera regla de transformación son una regla de transformación directa, mientras que la segunda regla de transformación es una regla de transformación inversa.
6. Dispositivo según una de las reivindicaciones anteriores, en el que el dispositivo (104) para redondear el primer bloque y el dispositivo (110) para redondear el segundo bloque o el dispositivo (142) para redondear el bloque de valores de partida transformados están configurados para redondear según una función de redondeo que suministra resultados redondeados, cuya precisión es menor que una precisión mecánica de un ordenador que presenta el dispositivo.
7. Dispositivo según una de las reivindicaciones anteriores, en el que el primer bloque de valores discretos tiene valores discretos desde un número de orden 0 hasta un número de orden N-1, en el que el segundo bloque de valores discretos tiene valores discretos desde un número de orden N hasta un número de orden 2N-1, en el que el primer bloque de valores transformados redondeados tiene un número de orden de 0 a N-1, y en el que el dispositivo (106) para sumar está configurado para realizar una suma de valores, de manera que un valor del bloque de valores transformados redondeados con un número de orden i se suma a un valor del segundo bloque de valores discretos con un número de orden i+N, siendo i un índice continuo que se extiende de 0 a N-1.
8. Dispositivo según una de las reivindicaciones anteriores, en el que el primer bloque de valores discretos tiene valores discretos desde un número de orden 0 hasta un número de orden N-1, en el que el segundo bloque de valores discretos tiene valores discretos desde un número de orden 0 hasta un número de orden 2N-1, en el que el segundo bloque de valores transformados redondeados tiene valores entre un número de orden N y 2N-1, estando configurado el dispositivo (112) de resta para restar un valor del bloque de valores transformados redondeados con el número de orden
N+i de un valor del primer bloque con el número de orden i, siendo i un índice continuo que se extiende de
\hbox{0 a
N-1.}
9. Dispositivo según una de las reivindicaciones anteriores, en el que el primer y el segundo bloque de valores discretos comprenden valores discretos enteros.
10. Dispositivo según una de las reivindicaciones anteriores, en el que el dispositivo (104) para redondear el primer bloque de valores transformados o el dispositivo (110) para redondear el segundo bloque de valores transformados están configurados para redondear según la misma regla de redondeo.
11. Dispositivo según la reivindicación 13, en el que la matriz de transformación que se basa en la primera regla de transformación, la matriz de transformación que se basa en la segunda regla de transformación, o la matriz de transformación que se basa en la tercera regla de transformación, son en cada caso una matriz cuadrática que tiene un número de filas y columnas igual a un número de valores discretos en el primer o en el segundo bloque.
12. Dispositivo según una de las reivindicaciones anteriores, en el que el dispositivo (102) de procesamiento según la primera regla de transformación y el dispositivo (108) de procesamiento según la segunda regla de transformación están configurados en un transformador y en el que además está previsto un control de operaciones que está configurado para alimentar al transformador en primer lugar el primer bloque de valores discretos y después el segundo bloque de valores sumados.
13. Dispositivo según una de las reivindicaciones anteriores, en el que el dispositivo (104) para redondear el primer bloque de valores transformados y el dispositivo (110) para redondear el segundo bloque de valores transformados están configurados en un redondeador, y en el que además está previsto un control de operaciones para alimentar al redondeador en primer lugar el primer bloque de valores discretos y después el segundo bloque de valores transformados.
14. Dispositivo según una de las reivindicaciones anteriores, en el que el primer y el segundo bloque de valores discretos son muestras de audio de un primer y de un segundo canal de una señal de audio multicanal.
15. Dispositivo según una de las reivindicaciones 1 a 13, en el que el primer bloque y el segundo bloque son muestras temporales consecutivas de una señal de audio.
16. Dispositivo de transformación directa con las siguientes características:
un dispositivo (16, 18, 20, 22, 24, 26, 28) para aplicar una ventana a un primer bloque de muestras que representan una señal de audio o una señal de imagen, y para aplicar una ventana a un segundo bloque de muestras que representan una señal de audio o una señal de imagen, empleando varias matrices (18, 22, 26) de elevación y operaciones (20, 24, 28) de redondeo posteriores para obtener un primer bloque de valores discretos y un segundo bloque de valores discretos; y
un dispositivo según una de las reivindicaciones 1 a 15, para obtener una representación transformada a partir del primer y del segundo bloque con valores de partida enteros.
17. Procedimiento para convertir valores discretos en una representación transformada con valores enteros, en el que los valores discretos presentan información de audio y/o imágenes, con las siguientes etapas:
procesar (102) un primer bloque de valores discretos empleando una primera regla de transformación, para obtener un primer bloque de valores transformados;
redondear (104) el primer bloque de valores transformados, para obtener un primer bloque de valores transformados redondeados;
sumar (106) el primer bloque de valores transformados redondeados a un segundo bloque de valores discretos, para obtener un segundo bloque de valores sumados;
procesar (108) el segundo bloque de valores sumados empleando una segunda regla de transformación, para obtener un segundo bloque de valores transformados;
redondear (110) el segundo bloque de valores transformados, para obtener un segundo bloque de valores transformados redondeados; y
restar (112) el segundo bloque de valores transformados redondeados del primer bloque de valores discretos, para obtener un bloque de valores de partida enteros de la representación transformada.
18. Procedimiento de transformación directa con las siguientes etapas:
aplicar (16, 18, 20, 22, 24, 26, 28) una ventana a un primer bloque de muestras que representan una señal de audio o una señal de imagen, y aplicar una ventana a un segundo bloque de muestras que representan una señal de audio o una señal de imagen, empleando varias matrices (18, 22, 26) de elevación y operaciones (20, 24, 28) de redondeo posteriores para obtener un primer bloque de valores discretos y un segundo bloque de valores discretos; y
un procedimiento según la reivindicación 17, para obtener una representación transformada a partir del primer y del segundo bloque con valores de partida enteros.
19. Dispositivo de conversión inversa de un bloque de valores de partida enteros y un segundo bloque de valores sumados, que son una representación transformada de valores discretos, para obtener un primer y un segundo bloque de valores discretos, derivándose el bloque de valores de partida enteros y el segundo bloque de valores sumados a partir del primer y del segundo bloque de valores discretos, mediante el procesamiento (102) de un primer bloque de valores discretos empleando una primera regla de transformación para obtener un primer bloque de valores transformados, el redondeo (104) del primer bloque de valores transformados para obtener un primer bloque de valores transformados redondeados, la suma (106) del primer bloque de valores transformados redondeados a un segundo bloque de valores discretos, para obtener el segundo bloque de valores sumados, el procesamiento (108) del segundo bloque de valores sumados empleando una segunda regla de transformación para obtener un segundo bloque de valores transformados, el redondeo (110) del segundo bloque de valores transformados para obtener un segundo bloque de valores transformados redondeados y la sustracción (112) del segundo bloque de valores transformados redondeados del primer bloque de valores discretos, para obtener un bloque de valores de partida enteros de la representación transformada, con las siguientes características:
un dispositivo (130) para procesar el segundo bloque de valores sumados empleando la segunda regla de transformación, para obtener un primer bloque de valores de partida transformados;
un dispositivo (132) para redondear el primer bloque de valores de partida transformados, para obtener un primer bloque de valores transformados redondeados;
un dispositivo (134) para sumar el primer bloque de valores de partida transformados redondeados al bloque de valores de partida enteros, para obtener el primer bloque de valores discretos;
un dispositivo (150) para procesar el primer bloque de valores discretos empleando la primera regla de transformación, para obtener un segundo bloque de valores transformados;
un dispositivo (152) para redondear el segundo bloque de valores transformados, para obtener un bloque de valores transformados redondeados; y
un dispositivo (154) para restar el bloque de valores transformados redondeados del segundo bloque de valores sumados, para obtener el segundo bloque de valores discretos.
20. Dispositivo según la reivindicación 19, en el que se calcula un bloque adicional de valores de partida enteros de la representación transformada a partir del bloque adicional de valores sumados mediante el procesamiento (140) del bloque de valores de partida enteros empleando una tercera regla de transformación, para obtener un bloque de valores de partida transformados, mediante el redondeo (142) del bloque de valores de partida transformados para obtener un bloque de valores de partida transformados redondeados, y mediante la suma (144) del bloque de valores de partida transformados redondeados y el segundo bloque de valores sumados, para obtener el bloque adicional de valores de partida enteros de la representación transformada, y que además presenta las siguientes características:
un dispositivo (124) para procesar el bloque de valores de partida enteros empleando la tercera regla de transformación, para obtener un primer bloque de valores de partida transformados;
un dispositivo (126) para redondear el primer bloque de valores de partida transformados para obtener un primer bloque de valores de partida transformados redondeados; y
un dispositivo (128) de sustracción del primer bloque de valores de partida transformados redondeados del bloque adicional de valores de partida, para obtener el segundo bloque de valores sumados.
21. Procedimiento de conversión inversa de un bloque de valores de partida enteros y un segundo bloque de valores sumados, que son una representación transformada de valores discretos, para obtener un primer y un segundo bloque de valores discretos, derivándose el bloque de valores de partida enteros y el segundo bloque de valores sumados a partir del primer y el segundo bloque de valores discretos, mediante procesamiento (102) de un primer bloque de valores discretos empleando una primera regla de transformación para obtener un primer bloque de valores transformados, el redondeo (104) del primer bloque de valores transformados para obtener un primer bloque de valores transformados redondeados, la suma (106) del primer bloque de valores transformados redondeados a un segundo bloque de valores discretos, para obtener el segundo bloque de valores sumados, el procesamiento (108) del segundo bloque de valores sumados empleando una segunda regla de transformación para obtener un segundo bloque de valores transformados, el redondeo (110) del segundo bloque de valores transformados para obtener un segundo bloque de valores transformados redondeados y la sustracción (112) del segundo bloque de valores transformados redondeados del primer bloque de valores discretos, para obtener un bloque de valores de partida enteros de la representación transformada, con las siguientes etapas:
procesar (130) el segundo bloque de valores sumados empleando la segunda regla de transformación, para obtener un primer bloque de valores de partida transformados;
redondear (132) el primer bloque de valores de partida transformados, para obtener un primer bloque de valores transformados redondeados;
sumar (134) el primer bloque de valores de partida transformados redondeados al bloque de valores de partida enteros, para obtener el primer bloque de valores discretos;
procesar (150) el primer bloque de valores discretos empleando la primera regla de transformación, para obtener un segundo bloque de valores transformados;
redondear (152) el segundo bloque de valores transformados, para obtener un bloque de valores transformados redondeados; y
restar (154) el bloque de valores transformados redondeados del segundo bloque de valores sumados, para obtener el segundo bloque de valores discretos.
22. Dispositivo de transformación inversa con las siguientes características:
un dispositivo según la reivindicación 19 ó 20, y
un dispositivo para aplicar una ventana al primer y al segundo bloque de valores discretos empleando matrices (18, 22, 26) de elevación y operaciones (20, 24, 28) de redondeo posteriores para obtener un primer y un segundo bloque de valores originales que representan muestras de audio o muestras de imágenes.
23. Procedimiento de transformación inversa con las siguientes etapas:
un procedimiento según la reivindicación 21; y
la aplicación de una ventana inversa al primer y al segundo bloque de valores discretos empleando matrices (18, 22, 26) de elevación y operaciones (20, 24, 28) de redondeo posteriores para obtener un primer y un segundo bloque de valores originales que representan muestras de audio o muestras de imágenes.
24. Programa informático con un código de programa para realizar un procedimiento según la reivindicación 17, 18, 21 ó 23, cuando el programa informático se ejecuta en un ordenador.
ES04740658T 2003-07-14 2004-07-05 Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada. Active ES2273268T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10331803A DE10331803A1 (de) 2003-07-14 2003-07-14 Vorrichtung und Verfahren zum Umsetzen in eine transformierte Darstellung oder zum inversen Umsetzen der transformierten Darstellung
DE10331803 2003-07-14

Publications (1)

Publication Number Publication Date
ES2273268T3 true ES2273268T3 (es) 2007-05-01

Family

ID=34041838

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04740658T Active ES2273268T3 (es) 2003-07-14 2004-07-05 Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada.

Country Status (15)

Country Link
US (1) US8195730B2 (es)
EP (1) EP1609084B1 (es)
JP (1) JP4398979B2 (es)
KR (1) KR100776235B1 (es)
CN (1) CN100416553C (es)
AT (1) ATE339728T1 (es)
AU (1) AU2004300713B2 (es)
BR (1) BRPI0412166B1 (es)
CA (1) CA2532288C (es)
DE (2) DE10331803A1 (es)
ES (1) ES2273268T3 (es)
HK (1) HK1085033A1 (es)
MX (1) MXPA06000528A (es)
PT (1) PT1609084E (es)
WO (1) WO2005006624A2 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007507790A (ja) * 2003-09-29 2007-03-29 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ 時間ドメインから周波数ドメインへ及びそれとは逆にデジタル信号を変換する方法
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten
US20090099844A1 (en) * 2007-10-16 2009-04-16 Qualcomm Incorporated Efficient implementation of analysis and synthesis filterbanks for mpeg aac and mpeg aac eld encoders/decoders
EP2063417A1 (en) * 2007-11-23 2009-05-27 Deutsche Thomson OHG Rounding noise shaping for integer transform based encoding and decoding
KR101067531B1 (ko) 2009-08-27 2011-09-27 성균관대학교산학협력단 양방향 정수 변환 장치 및 방법
WO2012037515A1 (en) 2010-09-17 2012-03-22 Xiph. Org. Methods and systems for adaptive time-frequency resolution in digital data coding
BR112012029132B1 (pt) * 2011-02-14 2021-10-05 Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V Representação de sinal de informações utilizando transformada sobreposta
CA2827249C (en) 2011-02-14 2016-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
KR101525185B1 (ko) 2011-02-14 2015-06-02 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
PL3239978T3 (pl) 2011-02-14 2019-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodowanie i dekodowanie pozycji impulsów ścieżek sygnału audio
WO2012122299A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Bit allocation and partitioning in gain-shape vector quantization for audio coding
WO2012122297A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Methods and systems for avoiding partial collapse in multi-block audio coding
US8838442B2 (en) * 2011-03-07 2014-09-16 Xiph.org Foundation Method and system for two-step spreading for tonal artifact avoidance in audio coding
US10860683B2 (en) 2012-10-25 2020-12-08 The Research Foundation For The State University Of New York Pattern change discovery between high dimensional data sets
US10089319B2 (en) * 2015-02-20 2018-10-02 International Business Machines Corporation Policy-based, multi-scheme data reduction for computer memory
US10448053B2 (en) * 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
WO2018044125A1 (ko) * 2016-09-01 2018-03-08 엘지전자(주) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
KR101916525B1 (ko) 2016-09-30 2018-11-07 연세대학교 산학협력단 필터 뱅크 멀티캐리어 시스템 및 필터링 방법
CN110892478A (zh) * 2017-04-28 2020-03-17 Dts公司 音频编解码器窗口和变换实现
TWI794129B (zh) * 2017-07-13 2023-02-21 美商松下電器(美國)知識產權公司 編碼裝置、編碼方法、解碼裝置、解碼方法及電腦可讀取之非暫時性媒體
CN108200436B (zh) * 2017-12-29 2019-06-18 华中科技大学 一种面向线列扫描红外成像非均匀性残差的无损压缩方法
CN108986794B (zh) * 2018-09-19 2023-02-28 河海大学 一种基于幂函数频率变换的说话人补偿方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473744A (en) * 1992-09-28 1995-12-05 Optical Magnetic Imaging Corporation Computer-assisted interactive method and apparatus for making a multi-media presentation
US5428397A (en) * 1993-05-07 1995-06-27 Goldstar Co., Ltd. Video format conversion apparatus for converting interlaced video format into progressive video format using motion-compensation
JP3291948B2 (ja) 1994-12-15 2002-06-17 ソニー株式会社 高能率符号化方法及び装置、並びに伝送媒体
EP1788815A3 (en) * 1997-11-05 2008-10-15 Sony Corporation Rate control for video transcoding with resolution conversion
US6360204B1 (en) 1998-04-24 2002-03-19 Sarnoff Corporation Method and apparatus for implementing rounding in decoding an audio signal
US6263019B1 (en) * 1998-10-09 2001-07-17 Matsushita Electric Industrial Co., Ltd. Variable rate MPEG-2 video syntax processor
KR100289621B1 (ko) * 1998-12-29 2001-05-02 이계철 비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법
US20050143981A1 (en) 2000-06-06 2005-06-30 Yukio Koyanagi Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program
JP2002311997A (ja) 2001-04-16 2002-10-25 Matsushita Electric Ind Co Ltd オーディオ信号符号化装置
DE10129240A1 (de) * 2001-06-18 2003-01-02 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten
JP2007507790A (ja) * 2003-09-29 2007-03-29 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ 時間ドメインから周波数ドメインへ及びそれとは逆にデジタル信号を変換する方法

Also Published As

Publication number Publication date
WO2005006624A2 (de) 2005-01-20
US8195730B2 (en) 2012-06-05
DE502004001490D1 (de) 2006-10-26
US20060115171A1 (en) 2006-06-01
MXPA06000528A (es) 2006-03-30
CN100416553C (zh) 2008-09-03
CN1806239A (zh) 2006-07-19
PT1609084E (pt) 2007-01-31
WO2005006624A3 (de) 2005-02-10
JP2009513993A (ja) 2009-04-02
AU2004300713A1 (en) 2005-01-20
CA2532288C (en) 2012-10-02
EP1609084B1 (de) 2006-09-13
HK1085033A1 (en) 2006-08-11
KR100776235B1 (ko) 2007-11-16
CA2532288A1 (en) 2005-01-20
EP1609084A2 (de) 2005-12-28
JP4398979B2 (ja) 2010-01-13
ATE339728T1 (de) 2006-10-15
BRPI0412166A (pt) 2006-08-22
DE10331803A1 (de) 2005-02-17
KR20060034293A (ko) 2006-04-21
AU2004300713B2 (en) 2007-11-08
BRPI0412166B1 (pt) 2017-06-06

Similar Documents

Publication Publication Date Title
ES2273268T3 (es) Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada.
ES2278338T3 (es) Dispositivo y procedimiento para procesar una señal.
US7873227B2 (en) Device and method for processing at least two input values
RU2691231C2 (ru) Декодер для декодирования кодированного аудиосигнала и кодер для кодирования аудиосигнала
ES2748843T3 (es) Análisis/síntesis espectral de baja complejidad utilizando resolución temporal seleccionable
KR100892152B1 (ko) 시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및방법
US20050114126A1 (en) Apparatus and method for coding a time-discrete audio signal and apparatus and method for decoding coded audio data
US7512539B2 (en) Method and device for processing time-discrete audio sampled values
EP2784776B1 (en) Orthogonal transform apparatus, orthogonal transform method, orthogonal transform computer program, and audio decoding apparatus
Chivukula Fast algorithms for MDCT and low delay filterbanks used in audio coding
MXPA06003309A (es) Dispositivo y metodo para procesar al menos dos valores de entrada