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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless 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.
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.
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:
Además de operaciones sencillas, como
permutaciones o multiplicaciones con -1, los tres bloques de esta
descomposición tienen la estructura general siguiente
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:
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
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.
(x_{0}, ..., x_{2n-1}) enteros. La inversa de la matriz de bloques se produce de la siguiente manera.
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:
Las permutaciones de las multiplicaciones con -1
pueden extraerse en matrices de bloques propias de manera que se
produce la siguiente relación:
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.
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
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.
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.
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:
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
\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
\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:
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:
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
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.
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)
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)
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 | エージェンシー フォー サイエンス,テクノロジー アンド リサーチ | 時間ドメインから周波数ドメインへ及びそれとは逆にデジタル信号を変換する方法 |
-
2003
- 2003-07-14 DE DE10331803A patent/DE10331803A1/de not_active Withdrawn
-
2004
- 2004-07-05 CA CA2532288A patent/CA2532288C/en active Active
- 2004-07-05 WO PCT/EP2004/007326 patent/WO2005006624A2/de active IP Right Grant
- 2004-07-05 PT PT04740658T patent/PT1609084E/pt unknown
- 2004-07-05 AU AU2004300713A patent/AU2004300713B2/en active Active
- 2004-07-05 MX MXPA06000528A patent/MXPA06000528A/es active IP Right Grant
- 2004-07-05 DE DE502004001490T patent/DE502004001490D1/de active Active
- 2004-07-05 KR KR1020067000950A patent/KR100776235B1/ko active IP Right Grant
- 2004-07-05 ES ES04740658T patent/ES2273268T3/es active Active
- 2004-07-05 JP JP2006519811A patent/JP4398979B2/ja active Active
- 2004-07-05 EP EP04740658A patent/EP1609084B1/de active Active
- 2004-07-05 BR BRPI0412166A patent/BRPI0412166B1/pt active IP Right Grant
- 2004-07-05 CN CNB2004800166016A patent/CN100416553C/zh active Active
- 2004-07-05 AT AT04740658T patent/ATE339728T1/de active
-
2006
- 2006-01-13 US US11/331,551 patent/US8195730B2/en active Active
- 2006-06-27 HK HK06107235A patent/HK1085033A1/xx unknown
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 |