Una DCT es una transformada relacionada con Fourier similar a la transformada discreta de Fourier (DFT), pero que utiliza solo números reales . Las DCT generalmente están relacionadas con los coeficientes de la serie de Fourier de una secuencia extendida periódica y simétricamente, mientras que las DFT están relacionadas con los coeficientes de la serie de Fourier de solo secuencias extendidas periódicamente. Las DCT son equivalentes a las DFT de aproximadamente el doble de longitud, que operan en datos reales con simetría par (ya que la transformada de Fourier de una función real y par es real y par), mientras que en algunas variantes los datos de entrada o salida se desplazan en media muestra.
Existen ocho variantes estándar de la DCT, de las cuales cuatro son comunes. La variante más común de la transformada discreta del coseno es la DCT de tipo II, que a menudo se denomina simplemente DCT . Esta fue la DCT original propuesta por primera vez por Ahmed. Su inversa, la DCT de tipo III, a menudo se denomina simplemente DCT inversa o IDCT . Dos transformadas relacionadas son la transformada discreta del seno (DST), que es equivalente a una DFT de funciones reales e impares , y la transformada discreta del coseno modificada (MDCT), que se basa en una DCT de datos superpuestos. Las DCT multidimensionales (MD DCT) se desarrollan para extender el concepto de DCT a señales multidimensionales. Se han desarrollado diversos algoritmos rápidos para reducir la complejidad computacional de la implementación de la DCT. Una de ellas es la DCT entera (IntDCT), [1] una aproximación entera de la DCT estándar, [2] : ix, xiii, 1, 141–304 utilizada en varias normas internacionales ISO/IEC e ITU-T . [1] [2]
La compresión DCT, también conocida como compresión de bloques, comprime datos en conjuntos de bloques DCT discretos. [3] Los tamaños de bloques DCT incluyen 8x8 píxeles para la DCT estándar y tamaños de DCT enteros variados entre 4x4 y 32x32 píxeles. [1] [4] La DCT tiene una fuerte propiedad de compactación de energía , [5] [6] capaz de lograr alta calidad en altas relaciones de compresión de datos . [7] [8] Sin embargo, pueden aparecer artefactos de compresión en bloques cuando se aplica una compresión DCT pesada.
Historia
La DCT fue concebida por primera vez por Nasir Ahmed , T. Natarajan y KR Rao mientras trabajaban en la Universidad Estatal de Kansas . El concepto fue propuesto a la Fundación Nacional de Ciencias en 1972. La DCT fue pensada originalmente para la compresión de imágenes . [9] [1] Ahmed desarrolló un algoritmo DCT práctico con sus estudiantes de doctorado T. Raj Natarajan, Wills Dietrich y Jeremy Fries, y su amigo el Dr. KR Rao en la Universidad de Texas en Arlington en 1973. [9] Presentaron sus resultados en un artículo de enero de 1974, titulado Transformada Discreta del Coseno . [5] [6] [10] Describía lo que ahora se llama la DCT de tipo II (DCT-II), [2] : 51 así como la DCT inversa de tipo III (IDCT). [5]
Desde su introducción en 1974, se han realizado importantes investigaciones sobre la DCT. [10] En 1977, Wen-Hsiung Chen publicó un artículo con C. Harrison Smith y Stanley C. Fralick presentando un algoritmo DCT rápido. [11] [10] Otros desarrollos incluyen un artículo de 1978 de MJ Narasimha y AM Peterson, y un artículo de 1984 de BG Lee. [10] Estos artículos de investigación, junto con el artículo original de Ahmed de 1974 y el artículo de Chen de 1977, fueron citados por el Joint Photographic Experts Group como base para el algoritmo de compresión de imágenes con pérdida de JPEG en 1992. [10] [12]
La transformada sinusoidal discreta (DST) se derivó de la DCT, al reemplazar la condición de Neumann en x=0 con una condición de Dirichlet . [2] : 35-36 La DST fue descrita en el artículo de 1974 sobre DCT por Ahmed, Natarajan y Rao. [5] Una DST de tipo I (DST-I) fue descrita posteriormente por Anil K. Jain en 1976, y una DST de tipo II (DST-II) fue descrita posteriormente por HB Kekra y JK Solanka en 1978. [13]
En 1975, John A. Roese y Guner S. Robinson adaptaron la DCT para la codificación de vídeo con compensación de movimiento entre fotogramas . Experimentaron con la DCT y la transformada rápida de Fourier (FFT), desarrollando codificadores híbridos entre fotogramas para ambos, y descubrieron que la DCT es la más eficiente debido a su complejidad reducida, capaz de comprimir datos de imagen hasta 0,25 bits por píxel para una escena de videoteléfono con una calidad de imagen comparable a un codificador intrafotograma que requiere 2 bits por píxel. [14] [15] En 1979, Anil K. Jain y Jaswant R. Jain desarrollaron aún más la compresión de vídeo DCT con compensación de movimiento, [16] [17] también llamada compensación de movimiento en bloque. [17] Esto llevó a Chen a desarrollar un algoritmo práctico de compresión de video, llamado DCT con compensación de movimiento o codificación de escena adaptativa, en 1981. [17] La DCT con compensación de movimiento luego se convirtió en la técnica de codificación estándar para la compresión de video desde fines de la década de 1980 en adelante. [18] [19]
Nasir Ahmed también desarrolló un algoritmo DCT sin pérdida con Giridhar Mandyam y Neeraj Magotra en la Universidad de Nuevo México en 1995. Esto permite que la técnica DCT se utilice para la compresión sin pérdida de imágenes. Es una modificación del algoritmo DCT original e incorpora elementos de DCT inversa y modulación delta . Es un algoritmo de compresión sin pérdida más eficaz que la codificación de entropía . [27] La DCT sin pérdida también se conoce como LDCT. [28]
La DCT, y en particular la DCT-II, se utiliza a menudo en el procesamiento de señales e imágenes, especialmente para la compresión con pérdida, porque tiene una fuerte propiedad de compactación de energía . [5] [6] En aplicaciones típicas, la mayor parte de la información de la señal tiende a concentrarse en unos pocos componentes de baja frecuencia de la DCT. Para procesos de Markov fuertemente correlacionados , la DCT puede acercarse a la eficiencia de compactación de la transformada de Karhunen-Loève (que es óptima en el sentido de decorrelación). Como se explica a continuación, esto se deriva de las condiciones de contorno implícitas en las funciones coseno.
Las DCT se emplean ampliamente para resolver ecuaciones diferenciales parciales mediante métodos espectrales , donde las diferentes variantes de la DCT corresponden a condiciones de contorno pares e impares ligeramente diferentes en los dos extremos de la matriz.
Formato de color : formato de luminancia y diferencias de color, formatos de color (como YUV444 y YUV411 ), operaciones de decodificación como la operación inversa entre formatos de color de visualización ( YIQ , YUV , RGB ) [1]
La DCT-II es una técnica de compresión de imágenes importante. Se utiliza en estándares de compresión de imágenes como JPEG y estándares de compresión de vídeo como H.26x , MJPEG , MPEG , DV , Theora y Daala . Allí, se calcula la DCT-II bidimensional de bloques y los resultados se cuantifican y codifican por entropía . En este caso, normalmente es 8 y se aplica la fórmula DCT-II a cada fila y columna del bloque. El resultado es una matriz de coeficientes de transformación de 8 × 8 en la que el elemento (arriba a la izquierda) es el componente DC (frecuencia cero) y las entradas con valores de índice verticales y horizontales crecientes representan frecuencias espaciales verticales y horizontales más altas.
La DCT entera, una aproximación entera de la DCT, [2] [1] se utiliza en la codificación de vídeo avanzada (AVC), [52] [1] introducida en 2003, y en la codificación de vídeo de alta eficiencia (HEVC), [4] [1] introducida en 2013. La DCT entera también se utiliza en el formato de imagen de alta eficiencia (HEIF), que utiliza un subconjunto del formato de codificación de vídeo HEVC para codificar imágenes fijas. [4] AVC utiliza bloques de 4 x 4 y 8 x 8. HEVC y HEIF utilizan tamaños de bloque variados entre 4 x 4 y 32 x 32 píxeles . [4] [1] A partir de 2019 [actualizar], AVC es, con diferencia, el formato más utilizado para la grabación, compresión y distribución de contenido de vídeo, utilizado por el 91% de los desarrolladores de vídeo, seguido de HEVC, que es utilizado por el 43% de los desarrolladores. [43]
Formatos de imagen
Formatos de vídeo
Estándares de audio MDCT
Audio general
Codificación de voz
DCT multidimensional
Las DCT multidimensionales (MD DCT) tienen varias aplicaciones, principalmente DCT 3-D como la DCT-II 3-D, que tiene varias aplicaciones nuevas como sistemas de codificación de imágenes hiperespectrales, [85] codificación DCT 3-D de longitud temporal variable, [86] algoritmos de codificación de video , [87] codificación de video adaptativa [88] y compresión 3-D. [89] Debido a la mejora en el hardware, software y la introducción de varios algoritmos rápidos, la necesidad de usar DCT MD está aumentando rápidamente. La DCT-IV ha ganado popularidad por sus aplicaciones en la implementación rápida de bancos de filtrado polifásico de valor real, [90] transformada ortogonal superpuesta [91] [92] y bases wavelet moduladas por coseno. [93]
Un problema común con la compresión DCT en medios digitales son los artefactos de compresión en bloques , [94] causados por bloques DCT. [3] En un algoritmo DCT, una imagen (o fotograma en una secuencia de imágenes) se divide en bloques cuadrados que se procesan independientemente unos de otros, luego los bloques DCT se toman dentro de cada bloque y los coeficientes DCT resultantes se cuantifican . Este proceso puede causar artefactos de bloqueo, principalmente en altas relaciones de compresión de datos . [94] Esto también puede causar el efecto de ruido de mosquito , que se encuentra comúnmente en el video digital . [95]
Los bloques DCT se utilizan a menudo en el arte glitch . [3] La artista Rosa Menkman hace uso de artefactos de compresión basados en DCT en su arte glitch, [96] particularmente los bloques DCT que se encuentran en la mayoría de los formatos de medios digitales como imágenes digitales JPEG y audio MP3 . [3] Otro ejemplo es Jpegs del fotógrafo alemán Thomas Ruff , que utiliza artefactos JPEG intencionales como base del estilo de la imagen. [97] [98]
Visión general informal
Al igual que cualquier transformada relacionada con Fourier, las transformadas discretas del coseno (DCT) expresan una función o una señal en términos de una suma de senos con diferentes frecuencias y amplitudes . Al igual que la transformada discreta de Fourier (DFT), una DCT opera sobre una función en un número finito de puntos de datos discretos . La distinción obvia entre una DCT y una DFT es que la primera utiliza solo funciones coseno, mientras que la segunda utiliza tanto cosenos como senos (en forma de exponenciales complejas ). Sin embargo, esta diferencia visible es meramente una consecuencia de una distinción más profunda: una DCT implica diferentes condiciones de contorno de la DFT u otras transformadas relacionadas.
Las transformadas relacionadas con Fourier que operan sobre una función sobre un dominio finito , como la DFT o la DCT o una serie de Fourier , pueden considerarse como la definición implícita de una extensión de esa función fuera del dominio. Es decir, una vez que escribes una función como una suma de senos, puedes evaluar esa suma en cualquier , incluso para donde no se especificó el original. La DFT, al igual que la serie de Fourier, implica una extensión periódica de la función original. Una DCT, al igual que una transformada del coseno , implica una extensión par de la función original.
Sin embargo, debido a que las DCT operan en secuencias discretas finitas , surgen dos problemas que no se aplican para la transformada continua del coseno. Primero, uno tiene que especificar si la función es par o impar en los límites izquierdo y derecho del dominio (es decir, los límites min- n y max- n en las definiciones a continuación, respectivamente). Segundo, uno tiene que especificar alrededor de qué punto la función es par o impar. En particular, considere una secuencia abcd de cuatro puntos de datos igualmente espaciados, y digamos que especificamos un límite izquierdo par . Hay dos posibilidades sensatas: o bien los datos son pares sobre la muestra a , en cuyo caso la extensión par es dcbabcd , o bien los datos son pares sobre el punto a medio camino entre a y el punto anterior, en cuyo caso la extensión par es dcbaabcd ( a se repite).
Estas opciones dan lugar a todas las variantes estándar de las DCT y también a las transformadas sinusoidales discretas (DST). Cada límite puede ser par o impar (2 opciones por límite) y puede ser simétrico respecto de un punto de datos o del punto intermedio entre dos puntos de datos (2 opciones por límite), para un total de 2 × 2 × 2 × 2 = 16 posibilidades. La mitad de estas posibilidades, aquellas en las que el límite izquierdo es par, corresponden a los 8 tipos de DCT; la otra mitad son los 8 tipos de DST.
Estas diferentes condiciones de contorno afectan fuertemente las aplicaciones de la transformada y conducen a propiedades excepcionalmente útiles para los diversos tipos de DCT. De manera más directa, cuando se utilizan transformadas relacionadas con Fourier para resolver ecuaciones diferenciales parciales mediante métodos espectrales , las condiciones de contorno se especifican directamente como parte del problema que se está resolviendo. O, para la MDCT (basada en la DCT de tipo IV), las condiciones de contorno están íntimamente involucradas en la propiedad crítica de la MDCT de cancelación de aliasing en el dominio del tiempo. De una manera más sutil, las condiciones de contorno son responsables de las propiedades de "compactación de energía" que hacen que las DCT sean útiles para la compresión de imágenes y audio, porque los límites afectan la tasa de convergencia de cualquier serie de tipo Fourier.
En particular, es bien sabido que cualquier discontinuidad en una función reduce la tasa de convergencia de la serie de Fourier, de modo que se necesitan más senos para representar la función con una precisión dada. El mismo principio rige la utilidad de la DFT y otras transformadas para la compresión de señales; cuanto más suave es una función, menos términos en su DFT o DCT se requieren para representarla con precisión, y más se puede comprimir. (Aquí, pensamos en la DFT o DCT como aproximaciones para la serie de Fourier o la serie de cosenos de una función, respectivamente, para poder hablar de su "suavidad"). Sin embargo, la periodicidad implícita de la DFT significa que las discontinuidades suelen ocurrir en los límites: es poco probable que cualquier segmento aleatorio de una señal tenga el mismo valor tanto en los límites izquierdo como derecho. (Un problema similar surge para la DST, en la que la condición de contorno izquierdo impar implica una discontinuidad para cualquier función que no sea cero en ese contorno.) En contraste, una DCT donde ambos contornos son pares siempre produce una extensión continua en los contornos (aunque la pendiente es generalmente discontinua). Esta es la razón por la que las DCT, y en particular las DCT de tipos I, II, V y VI (los tipos que tienen dos contornos pares) generalmente funcionan mejor para la compresión de señales que las DFT y las DST. En la práctica, una DCT de tipo II suele ser la preferida para tales aplicaciones, en parte por razones de conveniencia computacional.
Definición formal
Formalmente, la transformada discreta del coseno es una función lineal invertible (donde denota el conjunto de números reales ), o equivalentemente una matriz cuadrada N × N invertible . Existen varias variantes de la DCT con definiciones ligeramente modificadas. Los N números reales se transforman en los N números reales según una de las fórmulas:
DCT-I
Algunos autores multiplican además los términos y por y, en consecuencia, multiplican los términos y por lo que, si se multiplica además por un factor de escala general de , la matriz DCT-I es ortogonal pero rompe la correspondencia directa con una DFT real-par .
La DCT-I es exactamente equivalente (hasta un factor de escala total de 2) a una DFT de números reales con simetría par. Por ejemplo, una DCT-I de números reales es exactamente equivalente a una DFT de ocho números reales (simetría par), dividida por dos. (En cambio, las DCT de tipo II a IV implican un desplazamiento de media muestra en la DFT equivalente).
Sin embargo, tenga en cuenta que la DCT-I no está definida para menos de 2, mientras que todos los demás tipos de DCT están definidos para cualquier valor positivo.
Por lo tanto, la DCT-I corresponde a las condiciones de contorno: es par alrededor y par alrededor de ; de manera similar para
Prueba de transferencia de datos continua II
La DCT-II es probablemente la forma más utilizada y a menudo se la denomina simplemente "la DCT". [5] [6]
Esta transformación es exactamente equivalente (hasta un factor de escala total de 2) a una DFT de entradas reales de simetría par donde los elementos de índice par son cero. Es decir, es la mitad de la DFT de las entradas donde para y para la transformación DCT-II también es posible utilizando una señal 2 N seguida de una multiplicación por medio desplazamiento. Esto lo demuestra Makhoul .
Algunos autores multiplican además el término por y multiplican el resto de la matriz por un factor de escala general de (ver más abajo el cambio correspondiente en DCT-III). Esto hace que la matriz DCT-II sea ortogonal , pero rompe la correspondencia directa con una DFT real-par de entrada semidesplazada. Esta es la normalización utilizada por Matlab , por ejemplo, ver. [99] En muchas aplicaciones, como JPEG , la escala es arbitraria porque los factores de escala se pueden combinar con un paso computacional posterior (por ejemplo, el paso de cuantificación en JPEG [100] ), y se puede elegir una escala que permita calcular la DCT con menos multiplicaciones. [101] [102]
La DCT-II implica las condiciones de contorno: es par alrededor y par alrededor es par alrededor y impar alrededor
DCT-III
Debido a que es la inversa de la DCT-II hasta un factor de escala (ver más abajo), a esta forma a veces se la denomina simplemente "la DCT inversa" ("IDCT"). [6]
Algunos autores dividen el término por en lugar de por 2 (lo que da como resultado un término general) y multiplican la matriz resultante por un factor de escala general de (consulte más arriba el cambio correspondiente en DCT-II), de modo que la DCT-II y la DCT-III sean transpuestas entre sí. Esto hace que la matriz DCT-III sea ortogonal , pero rompe la correspondencia directa con una DFT real-par de salida semidesplazada.
La DCT-III implica las condiciones de contorno: es par alrededor y impar alrededor es par alrededor y par alrededor
Prueba de control de transmisión IV
La matriz DCT-IV se vuelve ortogonal (y por lo tanto, al ser claramente simétrica, su propia inversa) si se multiplica además por un factor de escala general de
La DCT-IV implica las condiciones de contorno: es par alrededor y es impar alrededor de manera similar para
DCT V-VIII
Las DCT de los tipos I a IV tratan ambos límites de manera consistente en cuanto al punto de simetría: son pares/impares alrededor de un punto de datos para ambos límites o a medio camino entre dos puntos de datos para ambos límites. Por el contrario, las DCT de los tipos V a VIII implican límites que son pares/impares alrededor de un punto de datos para un límite y a medio camino entre dos puntos de datos para el otro límite.
En otras palabras, las transformadas discretas de coseno de tipo I a IV son equivalentes a las transformadas discretas de coseno de tipo par real de orden par (independientemente de si es par o impar), ya que la transformada discreta de coseno correspondiente tiene una longitud de (para la transformada discreta de coseno I) o (para la transformada discreta de coseno II y III) o (para la transformada discreta de coseno IV). Los cuatro tipos adicionales de transformada discreta de coseno [104] corresponden esencialmente a las transformadas discretas de coseno de tipo par real de orden lógicamente impar, que tienen factores de en los denominadores de los argumentos de coseno.
Sin embargo, estas variantes parecen rara vez usarse en la práctica. Una razón, quizás, es que los algoritmos FFT para DFT de longitud impar son generalmente más complicados que los algoritmos FFT para DFT de longitud par (por ejemplo, los algoritmos de base 2 más simples son solo para longitudes pares), y esta mayor complejidad se traslada a las DCT como se describe a continuación.
(La matriz real-par trivial, una DFT de longitud uno (longitud impar) de un solo número a , corresponde a una DCT-V de longitud )
Transformaciones inversas
Utilizando las convenciones de normalización anteriores, la inversa de DCT-I es DCT-I multiplicada por 2/( N − 1). La inversa de DCT-IV es DCT-IV multiplicada por 2/ N . La inversa de DCT-II es DCT-III multiplicada por 2/ N y viceversa. [6]
Al igual que en el caso de la DFT , el factor de normalización que se encuentra delante de estas definiciones de transformada es simplemente una convención y difiere entre tratamientos. Por ejemplo, algunos autores multiplican las transformadas por de modo que la inversa no requiere ningún factor multiplicativo adicional. Combinado con factores apropiados de √ 2 (ver arriba), esto se puede utilizar para hacer que la matriz de transformada sea ortogonal .
DCT multidimensionales
Las variantes multidimensionales de los diversos tipos de DCT se derivan directamente de las definiciones unidimensionales: son simplemente un producto separable (equivalentemente, una composición) de DCT a lo largo de cada dimensión.
Prueba de detección de DCT-II de MD
Por ejemplo, una DCT-II bidimensional de una imagen o una matriz es simplemente la DCT-II unidimensional, desde arriba, realizada a lo largo de las filas y luego a lo largo de las columnas (o viceversa). Es decir, la DCT-II 2D se obtiene mediante la fórmula (omitiendo la normalización y otros factores de escala, como se indicó anteriormente):
La inversa de una DCT multidimensional es simplemente un producto separable de las inversas de las DCT unidimensionales correspondientes (ver arriba), por ejemplo, las inversas unidimensionales aplicadas a lo largo de una dimensión a la vez en un algoritmo de fila-columna.
La DCT-II 3-D es solo la extensión de la DCT-II 2-D en el espacio tridimensional y se puede calcular matemáticamente mediante la fórmula
La inversa de la DCT-II 3-D es la DCT-III 3-D y se puede calcular a partir de la fórmula dada por
Técnicamente, el cálculo de una DCT bidimensional, tridimensional (o multidimensional) mediante secuencias de DCT unidimensionales a lo largo de cada dimensión se conoce como algoritmo de fila-columna . Sin embargo, al igual que con los algoritmos FFT multidimensionales , existen otros métodos para calcular lo mismo mientras se realizan los cálculos en un orden diferente (es decir, intercalando/combinando los algoritmos para las diferentes dimensiones). Debido al rápido crecimiento de las aplicaciones basadas en la DCT 3-D, se han desarrollado varios algoritmos rápidos para el cálculo de la DCT-II 3-D. Los algoritmos Vector-Radix se aplican para calcular la DCT MD para reducir la complejidad computacional y aumentar la velocidad computacional. Para calcular la DCT-II 3-D de manera eficiente, se desarrolló un algoritmo rápido, el algoritmo Vector-Radix Decimation in Frequency (VR DIF).
Diferencial de realidad virtual DCT-II 3D
Para aplicar el algoritmo VR DIF, los datos de entrada se deben formular y reorganizar de la siguiente manera. [105] [106] Se supone que el tamaño de la transformación N × N × N es 2.
dónde
La figura adyacente muestra las cuatro etapas que intervienen en el cálculo de la DCT-II 3-D utilizando el algoritmo VR DIF. La primera etapa es la reordenación 3-D utilizando el mapeo de índices ilustrado por las ecuaciones anteriores. La segunda etapa es el cálculo de la mariposa. Cada mariposa calcula ocho puntos juntos como se muestra en la figura que se encuentra justo debajo, donde .
La DCT-II 3-D original ahora se puede escribir como
dónde
Si se consideran las partes pares e impares de y y , la fórmula general para el cálculo de la DCT-II 3-D se puede expresar como
dónde
Complejidad aritmética
Todo el cálculo de la DCT 3-D necesita etapas, y cada etapa implica mariposas. Todo el cálculo de la DCT 3-D requiere mariposas para ser calculado. Cada mariposa requiere siete multiplicaciones reales (incluidas las multiplicaciones triviales) y 24 sumas reales (incluidas las sumas triviales). Por lo tanto, el número total de multiplicaciones reales necesarias para esta etapa es y el número total de sumas reales, es decir, incluidas las sumas posteriores (sumas recursivas) que se pueden calcular directamente después de la etapa de mariposa o después de la etapa de inversión de bits, se da por [106].
El método convencional para calcular MD-DCT-II utiliza un enfoque de marco de fila-columna (RCF), que es computacionalmente complejo y menos productivo en las plataformas de hardware más recientes y avanzadas. La cantidad de multiplicaciones necesarias para calcular el algoritmo VR DIF en comparación con el algoritmo RCF es bastante pequeña. La cantidad de multiplicaciones y sumas involucradas en el enfoque RCF se dan por y respectivamente. De la Tabla 1, se puede ver que la cantidad total
El número de multiplicaciones asociadas con el algoritmo 3-D DCT VR es menor que el asociado con el enfoque RCF en más del 40%. Además, el enfoque RCF implica transposición de matriz y más indexación e intercambio de datos que el nuevo algoritmo VR. Esto hace que el algoritmo 3-D DCT VR sea más eficiente y más adecuado para aplicaciones 3-D que involucran el 3-D DCT-II, como la compresión de video y otras aplicaciones de procesamiento de imágenes 3-D.
La imagen de la derecha muestra una combinación de frecuencias horizontales y verticales para una DCT bidimensional de 8 × 8. Cada paso de izquierda a derecha y de arriba a abajo es un aumento de frecuencia de 1/2 ciclo. Por ejemplo, moverse un paso hacia la derecha desde el cuadrado superior izquierdo produce un aumento de medio ciclo en la frecuencia horizontal. Otro movimiento hacia la derecha produce dos medios ciclos. Un movimiento hacia abajo produce dos medios ciclos horizontales y un medio ciclo vertical. Los datos de origen (8×8) se transforman en una combinación lineal de estos 64 cuadrados de frecuencia.
MD-DCT-IV
La DCT-IV MD es simplemente una extensión de la DCT-IV 1-D en el dominio M -dimensional. La DCT-IV 2-D de una matriz o una imagen se obtiene mediante
para y
Podemos calcular la DCT-IV MD utilizando el método de fila-columna regular o podemos utilizar el método de transformada polinómica [109] para un cálculo rápido y eficiente. La idea principal de este algoritmo es utilizar la transformada polinómica para convertir la DCT multidimensional en una serie de DCT 1-D directamente. La DCT-IV MD también tiene varias aplicaciones en varios campos.
Cálculo
Aunque la aplicación directa de estas fórmulas requeriría operaciones, es posible calcular lo mismo con solo complejidad factorizando el cálculo de manera similar a la transformada rápida de Fourier (FFT). También se pueden calcular DCT mediante FFT combinadas con pasos de preprocesamiento y posprocesamiento. En general, los métodos para calcular DCT se conocen como algoritmos de transformada rápida de coseno (FCT).
En principio, los algoritmos más eficientes suelen ser aquellos que están especializados directamente para la DCT, en lugar de utilizar una FFT ordinaria más operaciones adicionales (véase más adelante una excepción). Sin embargo, incluso los algoritmos DCT "especializados" (incluidos todos los que alcanzan los recuentos aritméticos más bajos conocidos, al menos para tamaños de potencia de dos ) suelen estar estrechamente relacionados con los algoritmos FFT; dado que las DCT son esencialmente DFT de datos reales-par, se puede diseñar un algoritmo DCT rápido tomando una FFT y eliminando las operaciones redundantes debido a esta simetría. Esto incluso se puede hacer de forma automática (Frigo y Johnson 2005). Los algoritmos basados en el algoritmo Cooley-Tukey FFT son los más comunes, pero también se puede aplicar cualquier otro algoritmo FFT. Por ejemplo, el algoritmo Winograd FFT conduce a algoritmos de multiplicación mínima para la DFT, aunque generalmente a costa de más adiciones, y un algoritmo similar fue propuesto por (Feig y Winograd 1992a) para la DCT. Debido a que los algoritmos para DFT, DCT y transformaciones similares están tan estrechamente relacionados, cualquier mejora en los algoritmos para una transformada conducirá teóricamente a ganancias inmediatas también para las otras transformaciones (Duhamel y Vetterli 1990).
Si bien los algoritmos DCT que emplean una FFT no modificada suelen tener cierta sobrecarga teórica en comparación con los mejores algoritmos DCT especializados, los primeros también tienen una clara ventaja: hay una amplia disponibilidad de programas FFT altamente optimizados. Por lo tanto, en la práctica, suele ser más fácil obtener un alto rendimiento para longitudes generales N con algoritmos basados en FFT. [a]
Por otro lado, los algoritmos DCT especializados se utilizan ampliamente para transformadas de tamaños pequeños y fijos, como la DCT-II de 8 × 8 utilizada en la compresión JPEG , o las DCT pequeñas (o MDCT) que se utilizan normalmente en la compresión de audio. (El tamaño reducido del código también puede ser una razón para utilizar una DCT especializada para aplicaciones de dispositivos integrados).
De hecho, incluso los algoritmos DCT que utilizan una FFT ordinaria son a veces equivalentes a podar las operaciones redundantes de una FFT más grande de datos simétricos reales, e incluso pueden ser óptimos desde la perspectiva de los recuentos aritméticos. Por ejemplo, una DCT de tipo II es equivalente a una DFT de tamaño con simetría real-par cuyos elementos de índice par son cero. Uno de los métodos más comunes para calcular esto a través de una FFT (por ejemplo, el método utilizado en FFTPACK y FFTW ) fue descrito por Narasimha y Peterson (1978) y Makhoul (1980), y este método en retrospectiva puede verse como un paso de un algoritmo Cooley-Tukey de diezmado en el tiempo de radix-4 aplicado a la DFT real-par "lógica" correspondiente a la DCT-II. [b]
Debido a que los elementos de índice par son cero, este paso de radix-4 es exactamente el mismo que un paso de radix dividido. Si la FFT de datos reales de tamaño posterior también se realiza mediante un algoritmo de base dividida de datos reales (como en Sorensen et al. (1987)), entonces el algoritmo resultante en realidad coincide con lo que durante mucho tiempo fue el recuento aritmético publicado más bajo para la DCT-II de potencia de dos ( operaciones aritméticas reales [c] ).
Una reducción reciente en el conteo de operaciones también utiliza una FFT de datos reales. [110] Por lo tanto, no hay nada intrínsecamente malo en calcular la DCT a través de una FFT desde una perspectiva aritmética: a veces es simplemente una cuestión de si el algoritmo FFT correspondiente es óptimo. (En la práctica, la sobrecarga de llamadas de función al invocar una rutina FFT separada puede ser significativa para pequeñas, pero esta es una implementación más que una cuestión algorítmica, ya que se puede resolver mediante desenrollado o inserción en línea).
Ejemplo de IDCT
Considere esta imagen en escala de grises de 8x8 de la letra mayúscula A.
Cada función base se multiplica por su coeficiente y luego este producto se suma a la imagen final.
^
El rendimiento algorítmico en el hardware moderno generalmente no está determinado principalmente por simples recuentos aritméticos, y la optimización requiere un esfuerzo de ingeniería sustancial para hacer el mejor uso, dentro de sus límites intrínsecos, de la optimización de hardware incorporada disponible.
^
El paso de base 4 reduce la DFT de tamaño a cuatro DFT de tamaño de datos reales, dos de las cuales son cero y dos de las cuales son iguales entre sí por la simetría par. Por lo tanto, se obtiene una FFT de tamaño único de datos reales más mariposas , una vez que se eliminan y/o fusionan las partes triviales y/o duplicadas.
^
El recuento preciso de operaciones aritméticas reales, y en particular el recuento de multiplicaciones reales, depende en cierta medida de la escala de la definición de la transformación. El recuento corresponde a la definición de DCT-II que se muestra aquí; se pueden guardar dos multiplicaciones si la transformación se escala por un factor general. Se pueden guardar multiplicaciones adicionales si se permite que las salidas de la transformación se reescalen individualmente, como lo demostraron Arai, Agui y Nakajima (1988) para el caso de tamaño 8 utilizado en JPEG.
Referencias
^ abcdefghijklmnopqrstu vwxyz aa Stanković, Radomir S.; Astola, Jaakko T. (2012). "Reminiscencias de los primeros trabajos en DCT: entrevista con KR Rao" (PDF) . Reimpresiones de los primeros días de las ciencias de la información . 60 . Centro Internacional de Procesamiento de Señales de Tampere. ISBN 978-9521528187. ISSN 1456-2774. Archivado (PDF) del original el 30 de diciembre de 2021. Consultado el 30 de diciembre de 2021 – vía ETHW .
^ abcde Britanak, Vladimir; Yip, Patrick C.; Rao, KR (6 de noviembre de 2006). Transformadas discretas de coseno y seno: propiedades generales, algoritmos rápidos y aproximaciones enteras . Academic Press . ISBN978-0123736246. LCCN 2006931102. OCLC 220853454. OL 18495589M. S2CID 118873224.
^ abcd Alikhani, Darya (1 de abril de 2015). «Más allá de la resolución: el arte glitch de Rosa Menkman». POSTmatter . Archivado desde el original el 19 de octubre de 2019. Consultado el 19 de octubre de 2019 .
^ abcdef Thomson, Gavin; Shah, Athar (2017). "Introducción a HEIF y HEVC" (PDF) . Apple Inc. Consultado el 5 de agosto de 2019 .
^ abcdef Ahmed, Nasir ; Natarajan, T. Raj; Rao, KR (1 de enero de 1974). "Transformada de coseno discreta". Transacciones IEEE en computadoras . C-23 (1). Sociedad de Computación IEEE: 90–93. doi :10.1109/TC.1974.223784. eISSN 1557-9956. ISSN 0018-9340. LCCN 75642478. OCLC 1799331. S2CID 206619973.
^ abcdef Rao, K. Ramamohan ; Yip, Patrick C. (11 de septiembre de 1990). Transformada discreta del coseno: algoritmos, ventajas, aplicaciones . Procesamiento de señales, imágenes y voz. Academic Press . arXiv : 1109.0337 . doi :10.1016/c2009-0-22279-3. ISBN978-0125802031. LCCN 89029800. OCLC 1008648293. OL 2207570M. S2CID 12270940.
^ abcdefg Barbero, M.; Hofmann, H.; Wells, ND (14 de noviembre de 1991). "Codificación de fuente DCT e implementaciones actuales para HDTV". EBU Technical Review (251). Unión Europea de Radiodifusión : 22–33 . Consultado el 4 de noviembre de 2019 .
^ ab Ahmed, Nasir (enero de 1991). "Cómo se me ocurrió la transformada discreta del coseno" (PDF) . Procesamiento de señales digitales . 1 (1): 4–5. Bibcode :1991DSP.....1....4A. doi :10.1016/1051-2004(91)90086-Z.
^ abcde «T.81 – Compresión digital y codificación de imágenes fijas de tono continuo – Requisitos y directrices» (PDF) . CCITT . Septiembre de 1992. Consultado el 12 de julio de 2019 .
^ Chen, Wen-Hsiung; Smith, CH; Fralick, SC (septiembre de 1977). "Un algoritmo computacional rápido para la transformada discreta del coseno". IEEE Transactions on Communications . 25 (9): 1004–1009. doi :10.1109/TCOM.1977.1093941.
^ Smith, C.; Fralick, S. (1977). "Un algoritmo computacional rápido para la transformada discreta del coseno". IEEE Transactions on Communications . 25 (9): 1004–1009. doi :10.1109/TCOM.1977.1093941. ISSN 0090-6778.
^ Dhamija, Swati; Jain, Priyanka (septiembre de 2011). "Análisis comparativo de la transformada sinusoidal discreta como método adecuado para la estimación del ruido". IJCSI International Journal of Computer Science . 8 (5, n.º 3): 162–164 (162) . Consultado el 4 de noviembre de 2019 .
^ Roese, John A.; Robinson, Guner S. (30 de octubre de 1975). Tescher, Andrew G. (ed.). "Codificación espacial y temporal combinada de secuencias de imágenes digitales". Transmisión eficiente de información pictórica . 0066 . Sociedad Internacional de Óptica y Fotónica: 172–181. Bibcode :1975SPIE...66..172R. doi :10.1117/12.965361. S2CID 62725808.
^ Cianci, Philip J. (2014). Televisión de alta definición: la creación, el desarrollo y la implementación de la tecnología HDTV. McFarland. pág. 63. ISBN9780786487974.
^ abc "Historia de la compresión de vídeo". UIT-T . Equipo de vídeo conjunto (JVT) de ISO/IEC MPEG y ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 y ITU-T SG16 Q.6). Julio de 2002. págs. 11, 24–9, 33, 40–1, 53–6 . Consultado el 3 de noviembre de 2019 .
^ Li, Jian Ping (2006). Actas de la Conferencia Internacional de Computación 2006 sobre Tecnología de Medios Activos Wavelet y Procesamiento de Información: Chongqing, China, 29-31 de agosto de 2006. World Scientific . p. 847. ISBN9789812709998.
^ Princen, John P.; Johnson, AW; Bradley, Alan B. (1987). "Codificación de subbanda/transformación utilizando diseños de bancos de filtros basados en cancelación de aliasing en el dominio del tiempo". ICASSP '87. IEEE International Conference on Acoustics, Speech, and Signal Processing . Vol. 12. págs. 2161–2164. doi :10.1109/ICASSP.1987.1169405. S2CID 58446992.
^ Princen, J.; Bradley, A. (1986). "Diseño de un banco de filtros de análisis/síntesis basado en la cancelación de aliasing en el dominio del tiempo". IEEE Transactions on Acoustics, Speech, and Signal Processing . 34 (5): 1153–1161. doi :10.1109/TASSP.1986.1164954.
^ ab Britanak, V. (2011). "Sobre propiedades, relaciones e implementación simplificada de bancos de filtros en los estándares de codificación de audio Dolby Digital (Plus) AC-3". IEEE Transactions on Audio, Speech, and Language Processing . 19 (5): 1231–1241. doi :10.1109/TASL.2010.2087755. S2CID 897622.
^ ab Guckert, John (primavera de 2012). "El uso de FFT y MDCT en la compresión de audio MP3" (PDF) . Universidad de Utah . Consultado el 14 de julio de 2019 .
^ ab Brandenburg, Karlheinz (1999). "MP3 y AAC explicados" (PDF) . Archivado (PDF) desde el original el 13 de febrero de 2017.
^ ab Xiph.Org Foundation (2009-06-02). "Especificación Vorbis I - Clasificación 1.1.2". Xiph.Org Foundation . Consultado el 22 de septiembre de 2009 .
^ Mandyam, Giridhar D. ; Ahmed, Nasir; Magotra, Neeraj (17 de abril de 1995). Rodriguez, Arturo A.; Safranek, Robert J.; Delp, Edward J. (eds.). "Esquema basado en DCT para compresión de imágenes sin pérdida". Compresión de vídeo digital: algoritmos y tecnologías 1995 . 2419 . Sociedad Internacional de Óptica y Fotónica: 474–478. Bibcode :1995SPIE.2419..474M. doi :10.1117/12.206386. S2CID 13894279.
^ Komatsu, K.; Sezaki, Kaoru (1998). "Transformada de coseno discreta reversible". Actas de la Conferencia Internacional IEEE de 1998 sobre Acústica, Habla y Procesamiento de Señales, ICASSP '98 (Cat. No.98CH36181) . Vol. 3. págs. 1769–1772 vol.3. doi :10.1109/ICASSP.1998.681802. ISBN0-7803-4428-6.S2CID 17045923 .
^ Muchahary, D.; Mondal, A. J.; Parmar, RS; Borah, AD; Majumder, A. (2015). "Un enfoque de diseño simplificado para el cálculo eficiente de DCT". Quinta Conferencia Internacional de 2015 sobre Sistemas de Comunicación y Tecnologías de Red . págs. 483–487. doi :10.1109/CSNT.2015.134. ISBN978-1-4799-1797-6.S2CID16411333 .
^ Chen, Wai Kai (2004). Manual de ingeniería eléctrica. Elsevier . pág. 906. ISBN9780080477480.
^ abc "¿Qué es un JPEG? El objeto invisible que ves todos los días". The Atlantic . 24 de septiembre de 2013 . Consultado el 13 de septiembre de 2019 .
^ abc Pessina, Laure-Anne (12 de diciembre de 2014). "JPEG cambió nuestro mundo". Noticias EPFL . Escuela Politécnica Federal de Lausana . Consultado el 13 de septiembre de 2019 .
^ ab Lee, Ruby Bei-Loh; Beck, John P.; Lamb, Joel; Severson, Kenneth E. (abril de 1995). "Descodificador de vídeo MPEG de software en tiempo real en procesadores PA 7100LC mejorados con multimedia" (PDF) . Hewlett-Packard Journal . 46 (2). ISSN 0018-1153.
^ abc Lee, Jack (2005). Sistemas escalables de transmisión continua de medios: arquitectura, diseño, análisis e implementación. John Wiley & Sons . p. 25. ISBN9780470857649.
^ abc Shishikui, Yoshiaki; Nakanishi, Hiroshi; Imaizumi, Hiroyuki (26-28 de octubre de 1993). "Un esquema de codificación HDTV utilizando DCT de dimensión adaptativa". Procesamiento de señales de HDTV . Elsevier . págs. 611–618. doi :10.1016/B978-0-444-81844-7.50072-3. ISBN9781483298511.
^ ab Ochoa-Dominguez, Humberto; Rao, KR (2019). Transformada discreta del coseno, segunda edición. CRC Press . págs. 1–3, 129. ISBN9781351396486.
^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae Ochoa-Dominguez, Humberto; Rao, KR (2019). Transformada discreta del coseno, segunda edición. CRC Press . págs. 1–3. ISBN9781351396486.
^ abcde Britanak, Vladimir; Rao, KR (2017). Bancos de filtros modulados por seno y coseno: propiedades generales, algoritmos rápidos y aproximaciones enteras. Springer. pág. 478. ISBN9783319610801.
^ ab Jones, Graham A.; Layer, David H.; Osenkowsky, Thomas G. (2013). Manual de ingeniería de la Asociación Nacional de Radiodifusores: Manual de ingeniería de la NAB. Taylor & Francis . págs. 558–9. ISBN978-1-136-03410-7.
^ abc Hersent, Olivier; Petit, Jean-Pierre; Gurle, David (2005). Más allá de los protocolos VoIP: comprensión de la tecnología de voz y las técnicas de redes para telefonía IP. John Wiley & Sons . p. 55. ISBN9780470023631.
^ abcde Daniel Eran Dilger (8 de junio de 2010). «Dentro del iPhone 4: videollamadas FaceTime». AppleInsider . Consultado el 9 de junio de 2010 .
^ abcd Netflix Technology Blog (19 de abril de 2017). «Codificaciones móviles más eficientes para descargas de Netflix». Medium.com . Netflix . Consultado el 20 de octubre de 2019 .
^ ab "Informe de desarrolladores de vídeo 2019" (PDF) . Bitmovin . 2019 . Consultado el 5 de noviembre de 2019 .
^ Ochoa-Dominguez, Humberto; Rao, KR (2019). Transformada discreta del coseno, segunda edición. CRC Press. pág. 186. ISBN9781351396486.
^ abcd McKernan, Brian (2005). Cine digital: la revolución en cinematografía, posproducción y distribución. McGraw-Hill . p. 58. ISBN978-0-07-142963-4La tecnología DCT se utiliza en la mayoría de los sistemas de compresión estandarizados por el Moving Picture Experts Group (MPEG) y es la tecnología dominante para la compresión de imágenes. En particular, es la tecnología básica de MPEG-2, el sistema utilizado para los DVD y la transmisión de televisión digital, que se ha utilizado en muchos de los ensayos del cine digital.
^ ab Baraniuk, Chris (15 de octubre de 2015). "La protección de copias podría llegar a JPegs". BBC News . BBC . Consultado el 13 de septiembre de 2019 .
^ Ascher, Steven; Pincus, Edward (2012). Manual del cineasta: una guía completa para la era digital: quinta edición. Penguin. págs. 246–7. ISBN978-1-101-61380-1.
^ Bertalmio, Marcelo (2014). Procesamiento de imágenes para cine. Prensa CRC . pag. 95.ISBN978-1-4398-9928-1.
^ Zhang, HongJiang (1998). "Exploración y recuperación de vídeo basada en contenido". En Furht, Borko (ed.). Manual de sistemas y aplicaciones de Internet y multimedia. CRC Press . págs. 83–108 (89). ISBN9780849318580.
^ ab "Familia de códecs Apple ProRes 422". Biblioteca del Congreso . 17 de noviembre de 2014 . Consultado el 13 de octubre de 2019 .
^ Potluri, EE. UU.; Madanayake, A.; Cintra, RJ; Bayer, FM; Rajapaksha, N. (17 de octubre de 2012). "Aproximaciones DCT sin multiplicadores para imágenes espaciales de matriz de apertura digital multihaz de RF y detección direccional". Measurement Science and Technology . 23 (11): 114003. doi :10.1088/0957-0233/23/11/114003. ISSN 0957-0233. S2CID 119888170.
^ ab Wang, Hanli; Kwong, S.; Kok, C. (2006). "Algoritmo de predicción eficiente de coeficientes DCT enteros para optimización H.264 /AVC". IEEE Transactions on Circuits and Systems for Video Technology . 16 (4): 547–552. doi :10.1109/TCSVT.2006.871390. S2CID 2060937.
^ Hudson, Graham; Léger, Alain; Niss, Birger; Sebestyén, István; Vaaben, Jørgen (31 de agosto de 2018). "Estándar JPEG-1 25 años: razones pasadas, presentes y futuras de un éxito". Revista de imágenes electrónicas . 27 (4): 1. doi : 10.1117/1.JEI.27.4.040901 .
^ "Explicación del formato de imagen JPEG". BT.com . BT Group . 31 de mayo de 2018 . Consultado el 5 de agosto de 2019 .
^ "Comparación HEIF: formato de archivo de imagen de alta eficiencia". Nokia Technologies . Consultado el 5 de agosto de 2019 .
^ Alakuijala, Jyrki; Sneyers, Jon; Versari, Luca; Wassenberg, Jan (22 de enero de 2021). "Libro blanco sobre JPEG XL" (PDF) . JPEG Org . Archivado (PDF) del original el 2 de mayo de 2021 . Consultado el 14 de enero de 2022 . La DCT de tamaño variable (cuadrada o rectangular de 2x2 a 256x256) sirve como una aproximación rápida de la transformación decorrelacionante óptima.
^ ab Wang, Yao (2006). "Estándares de codificación de video: Parte I" (PDF) . Archivado desde el original (PDF) el 23 de enero de 2013.
^ Wang, Yao (2006). "Estándares de codificación de video: Parte II" (PDF) . Archivado desde el original (PDF) el 23 de enero de 2013.
^ ab Rao, KR ; Hwang, JJ (18 de julio de 1996). Técnicas y estándares para la codificación de imágenes, vídeo y audio . Prentice Hall. JPEG: Capítulo 8; H.261 : Capítulo 9; MPEG-1: Capítulo 10; MPEG-2: Capítulo 11. ISBN978-0133099072. LCCN 96015550. OCLC 34617596. OL 978319M. S2CID 56983045.
^ Davis, Andrew (13 de junio de 1997). "Resumen de la recomendación H.320". EE Times . Consultado el 7 de noviembre de 2019 .
^ IEEE WESCANEX 97: comunicaciones, energía y computación: actas de congresos. Universidad de Manitoba, Winnipeg, Manitoba, Canadá: Instituto de Ingenieros Eléctricos y Electrónicos . 22-23 de mayo de 1997. p. 30. ISBN9780780341470H.263 es similar a H.261 , pero más complejo . Actualmente es el estándar de compresión de vídeo internacional más utilizado para telefonía por vídeo en líneas telefónicas ISDN (Red Digital de Servicios Integrados) .
^ Peter de Rivaz; Jack Haughton (2018). "AV1 Bitstream & Decoding Process Specification" (PDF) . Alianza para los Medios Abiertos . Consultado el 14 de enero de 2022 .
^ YouTube Developers (15 de septiembre de 2018). «Lista de reproducción del lanzamiento de la versión beta de AV1». YouTube . Consultado el 14 de enero de 2022 . Los primeros vídeos que recibirán las transcodificaciones AV1 de YouTube.
^ Brinkmann, Martin (13 de septiembre de 2018). «Cómo habilitar la compatibilidad con AV1 en YouTube» . Consultado el 14 de enero de 2022 .
^ Blog de tecnología de Netflix (5 de febrero de 2020). «Netflix ahora transmite AV1 en Android» . Consultado el 14 de enero de 2022 .
^ Blog de tecnología de Netflix (9 de noviembre de 2021). "Lleva la transmisión AV1 a los televisores de los miembros de Netflix" . Consultado el 14 de enero de 2022 .
^ Herre, J.; Dietz, M. (2008). "Codificación AAC de alta eficiencia MPEG-4 [Estándares en pocas palabras]". Revista IEEE Signal Processing . 25 (3): 137–142. Código Bibliográfico :2008ISPM...25..137H. doi :10.1109/MSP.2008.918684.
^ Valin, Jean-Marc; Maxwell, Gregory; Terriberry, Timothy B.; Vos, Koen (octubre de 2013). Codificación de música de alta calidad y bajo retardo en el códec Opus . 135.ª Convención de la AES. Sociedad de Ingeniería de Audio . arXiv : 1602.04845 .
^ "Opus Codec". Opus (página de inicio). Fundación Xiph.org . Consultado el 31 de julio de 2012 .
^ Leyden, John (27 de octubre de 2015). "WhatsApp al descubierto: se investigan las entrañas de una aplicación que absorbe información". The Register . Consultado el 19 de octubre de 2019 .
^ Hazra, Sudip; Mateti, Prabhaker (13 al 16 de septiembre de 2017). "Desafíos en la ciencia forense de Android". En Thampi, Sabu M.; Pérez, Gregorio Martínez; Westphall, Carlos Becker; Hu, Jiankun; Fan, Chun I.; Mármol, Félix Gómez (eds.). Seguridad en Computación y Comunicaciones: 5to Simposio Internacional, SSCC 2017 . Saltador. págs. 286–299 (290). doi :10.1007/978-981-10-6898-0_24. ISBN9789811068980.
^ Srivastava, Saurabh Ranjan; Dube, Sachin; Shrivastaya, Gulshan; Sharma, Kavita (2019). "Desafíos de seguridad activados por teléfonos inteligentes: problemas, estudios de casos y prevención". En Le, Dac-Nhuong; Kumar, Raghvendra; Mishra, Brojo Kishore; Chatterjee, Jyotir Moy; Khari, Manju (eds.). Ciberseguridad en computación paralela y distribuida: conceptos, técnicas, aplicaciones y estudios de casos . John Wiley & Sons. págs. 187–206 (200). doi :10.1002/9781119488330.ch12. ISBN9781119488057. Número de identificación del sujeto 214034702.
^ "Software de código abierto utilizado en PlayStation 4". Sony Interactive Entertainment Inc. Consultado el 11 de diciembre de 2017 .
^ "Dolby AC-4: Audio Delivery for Next-Generation Entertainment Services" (PDF) . Dolby Laboratories . Junio de 2015. Archivado desde el original (PDF) el 30 de mayo de 2019 . Consultado el 11 de noviembre de 2019 .
^ Bleidt, RL; Sen, D.; Niedermeier, A.; Czelhan, B.; Füg, S.; et al. (2017). "Desarrollo del sistema de audio de TV MPEG-H para ATSC 3.0" (PDF) . IEEE Transactions on Broadcasting . 63 (1): 202–236. doi :10.1109/TBC.2017.2661258. S2CID 30821673.
^ Schnell, Markus; Schmidt, Markus; Jander, Manuel; Albert, Tobias; Geiger, Ralf; Ruoppila, Vesa; Ekstrand, Per; Bernhard, Grill (octubre de 2008). MPEG-4 Enhanced Low Delay AAC: un nuevo estándar para comunicaciones de alta calidad (PDF) . 125.ª Convención AES. Fraunhofer IIS . Sociedad de Ingeniería de Audio . Consultado el 20 de octubre de 2019 .
^ Lutzky, Manfred; Schuller, Gerald; Gayer, Marc; Krämer, Ulrich; Wabnik, Stefan (mayo de 2004). Una guía para el retardo de los códecs de audio (PDF) . 116.ª Convención de la AES. Fraunhofer IIS . Sociedad de Ingeniería de Audio . Consultado el 24 de octubre de 2019 .
^ ab Nagireddi, Sivannarayana (2008). Procesamiento de señales de voz y fax VoIP. John Wiley & Sons . pág. 69. ISBN9780470377864.
^ "Programa de trabajo del UIT-T". UIT .
^ Terriberry, Timothy B. Presentación del códec CELT. El evento se produce a los 65 minutos. Archivado desde el original el 7 de agosto de 2011. Consultado el 19 de octubre de 2019 ., también "Diapositivas de presentación del códec CELT" (PDF) .
^ "Ekiga 3.1.0 disponible". Archivado desde el original el 2011-09-30 . Consultado el 2019-10-19 .
^ "☏ FreeSWITCH". Cable de señal .
^ "Enhanced Voice Services (EVS) Codec" (PDF) . Fraunhofer IIS . Marzo de 2017 . Consultado el 19 de octubre de 2019 .
^ Abousleman, GP; Marcellin, MW; Hunt, BR (enero de 1995), "Compresión de imágenes hiperespectrales utilizando DCT 3-D y DPCM/DCT híbrido", IEEE Trans. Geosci. Remote Sens. , 33 (1): 26–34, Bibcode :1995ITGRS..33...26A, doi :10.1109/36.368225
^ Chan, Y.; Siu, W. (mayo de 1997), "Codificación de transformada de coseno discreta tridimensional de longitud temporal variable" (PDF) , IEEE Trans. Image Process. , 6 (5): 758–763, Bibcode :1997ITIP....6..758C, CiteSeerX 10.1.1.516.2824 , doi :10.1109/83.568933, hdl :10397/1928, PMID 18282969
^ Song, J.; SXiong, Z.; Liu, X.; Liu, Y., "Un algoritmo para la codificación y transmisión de video en capas", Proc. Fourth Int. Conf./Exh. High Performance Comput. Asia-Pacific Region , 2 : 700–703
^ Tai, S.-C; Gi, Y.; Lin, C.-W. (septiembre de 2000), "Un codificador de transformada de coseno discreta tridimensional adaptativa para la compresión de imágenes médicas", IEEE Trans. Inf. Technol. Biomed. , 4 (3): 259–263, doi :10.1109/4233.870036, PMID 11026596, S2CID 18016215
^ Yeo, B.; Liu, B. (mayo de 1995), "Representación de volumen de datos escalares 3D comprimidos basados en DCT", IEEE Transactions on Visualization and Computer Graphics , 1 : 29–43, doi :10.1109/2945.468390
^ Chan, SC; Liu, W.; Ho, KI (2000). "Bancos de filtros modulados de reconstrucción perfecta con suma de coeficientes de potencias de dos". Simposio internacional IEEE de 2000 sobre circuitos y sistemas. Tecnologías emergentes para el siglo XXI. Actas (IEEE Cat No.00CH36353) . Vol. 2. págs. 73–76. doi :10.1109/ISCAS.2000.856261. hdl :10722/46174. ISBN0-7803-5482-6.S2CID 1757438 .
^ Queiroz, RL; Nguyen, TQ (1996). "Transformadas superpuestas para codificación eficiente de transformadas/subbandas". IEEE Trans. Signal Process . 44 (5): 497–507.
^ Malvar 1992.
^ Chan, SC; Luo, L.; Ho, KL (1998). "Bases de wavelets moduladas por coseno biortogonales con soporte compacto de canal M". IEEE Trans. Signal Process . 46 (2): 1142–1151. Bibcode :1998ITSP...46.1142C. doi :10.1109/78.668566. hdl : 10722/42775 .
^ ab Katsaggelos, Aggelos K.; Babacan, S. Derin; Chun-Jen, Tsai (2009). "Capítulo 15: Restauración iterativa de imágenes". La guía esencial para el procesamiento de imágenes . Academic Press . págs. 349–383. ISBN9780123744579.
^ "Ruido de mosquitos". Revista PC . Consultado el 19 de octubre de 2019 .
^ Menkman, Rosa (octubre de 2011). The Glitch Moment(um) (PDF) . Instituto de Culturas de Red. ISBN978-90-816021-6-7. Recuperado el 19 de octubre de 2019 .
^ Ruff, Thomas (31 de mayo de 2009). "jpegs". Aperture . Aperture. pág. 132. ISBN9781597110938.
^ Colberg, Jörg (17 de abril de 2009). "Reseña: jpegs de Thomas Ruff".
^ "Transformada discreta del coseno - MATLAB dct". www.mathworks.com . Consultado el 11 de julio de 2019 .
^ Pennebaker, William B.; Mitchell, Joan L. (31 de diciembre de 1992). JPEG: Estándar de compresión de datos de imágenes fijas . Springer. ISBN9780442012724.
^ Arai, Y.; Agüí, T.; Nakajima, M. (1988). "Un esquema DCT-SQ rápido para imágenes". Transacciones IEICE . 71 (11): 1095–1097.
^ Shao, Xuancheng; Johnson, Steven G. (2008). "Algoritmos DCT/DST de tipo II/III con un número reducido de operaciones aritméticas". Procesamiento de señales . 88 (6): 1553–1564. arXiv : cs/0703150 . Código Bibliográfico :2008SigPr..88.1553S. doi :10.1016/j.sigpro.2008.01.004. S2CID 986733.
^ Malvar 1992
^ Martucci 1994
^ Chan, SC; Ho, KL (1990). "Métodos directos para calcular transformadas sinusoidales discretas". Actas del IEE F - Procesamiento de señales y radar . 137 (6): 433. doi :10.1049/ip-f-2.1990.0063.
^ ab Alshibami, O.; Boussakta, S. (julio de 2001). "Algoritmo tridimensional para la DCT-III 3-D". Proc. Sexto Simposio Internacional Comunitario, Aplicaciones Teóricas : 104–107.
^ Guoan Bi; Gang Li; Kai-Kuang Ma; Tan, TC (2000). "Sobre el cálculo de DCT bidimensional". IEEE Transactions on Signal Processing . 48 (4): 1171–1183. Bibcode :2000ITSP...48.1171B. doi :10.1109/78.827550.
^ Feig, E.; Winograd, S. (julio de 1992a). "Sobre la complejidad multiplicativa de las transformadas de coseno discretas". IEEE Transactions on Information Theory . 38 (4): 1387–1391. doi :10.1109/18.144722.
^ Nussbaumer, HJ (1981). Algoritmos de convolución y transformada rápida de Fourier (1ª ed.). Nueva York: Springer-Verlag.
^ Shao, Xuancheng; Johnson, Steven G. (2008). "Algoritmos DCT/DST de tipo II/III con un número reducido de operaciones aritméticas". Procesamiento de señales . 88 (6): 1553–1564. arXiv : cs/0703150 . Código Bibliográfico :2008SigPr..88.1553S. doi :10.1016/j.sigpro.2008.01.004. S2CID 986733.
Lectura adicional
Narasimha, M.; Peterson, A. (junio de 1978). "Sobre el cálculo de la transformada discreta del coseno". IEEE Transactions on Communications . 26 (6): 934–936. doi :10.1109/TCOM.1978.1094144.
Makhoul, J. (febrero de 1980). "Una transformada rápida del coseno en una y dos dimensiones". IEEE Transactions on Acoustics, Speech, and Signal Processing . 28 (1): 27–34. doi :10.1109/TASSP.1980.1163351.
Sorensen, H.; Jones, D.; Heideman, M.; Burrus, C. (junio de 1987). "Algoritmos de transformada rápida de Fourier con valor real". IEEE Transactions on Acoustics, Speech, and Signal Processing . 35 (6): 849–863. CiteSeerX 10.1.1.205.4523 . doi :10.1109/TASSP.1987.1165220.
Plonka, G. ; Tasche, M. (enero de 2005). "Algoritmos rápidos y numéricamente estables para transformadas de coseno discretas". Álgebra lineal y sus aplicaciones . 394 (1): 309–345. doi : 10.1016/j.laa.2004.07.015 .
Duhamel, P.; Vetterli, M. (abril de 1990). "Transformadas rápidas de Fourier: una revisión tutorial y un estado del arte". Procesamiento de señales (manuscrito enviado). 19 (4): 259–299. Código Bibliográfico :1990SigPr..19..259D. doi :10.1016/0165-1684(90)90158-U.
Ahmed, N. (enero de 1991). "Cómo se me ocurrió la transformada discreta del coseno". Procesamiento de señales digitales . 1 (1): 4–9. Bibcode :1991DSP.....1....4A. doi :10.1016/1051-2004(91)90086-Z.
Feig, E.; Winograd, S. (septiembre de 1992b). "Algoritmos rápidos para la transformada de coseno discreta". IEEE Transactions on Signal Processing . 40 (9): 2174–2193. Bibcode :1992ITSP...40.2174F. doi :10.1109/78.157218.
Malvar, Henrique (1992), Procesamiento de señales con transformadas superpuestas , Boston: Artech House, ISBN 978-0-89006-467-2
Martucci, SA (mayo de 1994). "Convolución simétrica y transformadas discretas de seno y coseno". IEEE Transactions on Signal Processing . 42 (5): 1038–1051. Bibcode :1994ITSP...42.1038M. doi :10.1109/78.295213.
Oppenheim, Alan; Schafer, Ronald; Buck, John (1999), Procesamiento de señales en tiempo discreto (2.ª ed.), Upper Saddle River, NJ: Prentice Hall, ISBN 978-0-13-754920-7
Frigo, M.; Johnson, SG (febrero de 2005). "El diseño y la implementación de FFTW3" (PDF) . Actas del IEEE . 93 (2): 216–231. Bibcode :2005IEEEP..93..216F. CiteSeerX 10.1.1.66.3097 . doi :10.1109/JPROC.2004.840301. S2CID 6644892.
Boussakta, Said.; Alshibami, Hamoud O. (abril de 2004). "Algoritmo rápido para la DCT-II 3-D" (PDF) . IEEE Transactions on Signal Processing . 52 (4): 992–1000. Bibcode :2004ITSP...52..992B. doi :10.1109/TSP.2004.823472. S2CID 3385296.
Cheng, LZ; Zeng, YH (2003). "Nuevo algoritmo rápido para DCT multidimensional tipo IV". IEEE Transactions on Signal Processing . 51 (1): 213–220. doi :10.1109/TSP.2002.806558.
Wen-Hsiung Chen; Smith, C.; Fralick, S. (septiembre de 1977). "Un algoritmo computacional rápido para la transformada discreta del coseno". IEEE Transactions on Communications . 25 (9): 1004–1009. doi :10.1109/TCOM.1977.1093941.
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Sección 12.4.2. Transformada del coseno", Recetas numéricas: el arte de la computación científica (3.ª ed.), Nueva York: Cambridge University Press, ISBN 978-0-85-0-312-0978-0-521-88068-8, archivado desde el original el 11-08-2011 , consultado el 13-08-2011
Enlaces externos
Wikimedia Commons tiene medios relacionados con Transformada discreta del coseno .
Syed Ali Khayam: La transformada discreta del coseno (DCT): teoría y aplicación
Implementación de la aproximación de enteros MPEG de IDCT 8x8 (ISO/IEC 23002-2)
Matteo Frigo y Steven G. Johnson : FFTW , página de inicio de FFTW. Biblioteca C gratuita ( GPL ) que puede calcular DCT rápidas (tipos I-IV) en una o más dimensiones, de tamaño arbitrario.
Takuya Ooura: Paquete FFT de propósito general, paquete FFT 1-dim / 2-dim. Bibliotecas C y FORTRAN gratuitas para calcular DCT rápidas (tipos II-III) en una, dos o tres dimensiones, potencias de 2 tamaños.
Tim Kientzle: Algoritmos rápidos para calcular la DCT de 8 puntos y la IDCT, Algorithm Alley.
LTFAT es una caja de herramientas gratuita de Matlab/Octave con interfaces para la implementación FFTW de las DCT y DST de tipo I-IV.