1 / 45

Tema 4: La compresión de datos

Tema 4: La compresión de datos. Factores de diseño de un codec Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. Codificación y compresión de audio. Introducción a la compresión de datos.

temple
Télécharger la présentation

Tema 4: La compresión de datos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tema 4:La compresión de datos Factores de diseño de un codec Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. Codificación y compresión de audio

  2. Introducción a la compresión de datos. • Muchas aplicaciones multimedia requieren volúmenes de información importantes: • CD-ROM: 648 MB • 72’ sonido estéreo. • 30’’ de vídeo (estudio TV). • Una película de 90’ ocuparía 120 GB. • Una foto (35 mm) a resolución 2000x2000 ocuparía 10MB. • Un canal de HDTV requiere un ancho de banda de 2Gbps. • Por esta razón se emplean técnicas de compresión que permitan reducir el volumen de información

  3. Introducción a la compresión de datos (II). • Un sistema de compresión consta de: • Codificador y decodificador • Codificador y decodificador pueden ser: • Asimétricos • El codificador suele ser más complejo y lento que el decodificador (Ej.: Vídeo por demanda) • Simétricos • Coste computacional similar (Ej: Videoconferencia). • Conpérdidas (lossy compression) o irreversible • Adecuada para medios continuos (audio y vídeo). • Mayores tasas de compresión. • Sinpérdidas (lossless compression) o reversible: • Ficheros de datos, imágenes médicas, etc.

  4. Factores en el diseño de un codificador. • Calidad de la señal • BER (Bit Error Ratio) • SNR (Signal/Noise) • MOS (Mean Opinion Score) Eficiencia - Tasa de compresión Retardo • Complejidad • Espacio de memoria • Potencia (mW) • Operaciones/Seg.

  5. Dos clases de técnicas de compresión. • Entropy encoding • Codifica los datos sin necesidad de conocer la naturaleza de estos. • De propósito general (todo tipo de datos). • Son técnicas de compresión sin pérdidas. • Ejemplos: Statistical (Huffman, aritmética,etc.), Run-length. • Source encoding • Codifica los datos basándose en las características y propiedades de estos. • Suelen ser técnicas de compresión con pérdidas. • Se obtienen tasas de compresión elevadas. • Codificadores/decodificadores de propósito específico. • Ejemplos: • Differential, transform, vector quantization, etc.

  6. Codificación basada en la entropía. • Entropía: • Valor medio de información de un conjunto de símbolos procedente de una fuente de información (es imposible de medir en la práctica). (pi = probabilidad del símbolo i) • Por ejemplo: Sea S = {4,5,6,7,8,9}, en donde la probabilidad de cada símbolo es la misma (1/6). • Según la teoría de la información (Shannon), esta fuente no puede ser codificada (sin pérdidas) con menos de 2.585 bits por símbolo.

  7. Statistical encoding • Trata de identificar los símbolos (patrones de bits) que más se repiten en el conjunto de datos de entrada. • Se codifican con pocos bits los símbolos más frecuentes, mientras que los menos frecuentes son codificados con más bits. • Ejemplos: • Codificación Morse • E: ‘•’ y Q:’--•-’ • Codificación Huffman. • Codificación aritmética.

  8. Codificación Huffman • Representan los símbolos con un número de bits inversamente proporcional a su frecuencia. • Algoritmo genérico: • Se construye un árbol binario de abajo hacia arriba agrupando los símbolos de menor frecuencia y asignado la suma de las probabilidades de ambos al nodo padre del árbol. • Cada símbolo estará representado por una hoja del árbol y su código serán los bits recorridos hasta la raíz del mismo. • Ejemplo:

  9. ABCDE(39) 1 BCDE(24) 0 0 1 BC(13) DE(11) 0 1 0 1 Codificación Huffman: Ejemplo A(15) B(7) C(6) D(6) E(5)

  10. Codificación aritmética • Identifica una secuencia de símbolos asignándoles una representación binaria de un intervalo de una longitud inferior a la unidad. • Siempre son más eficientes que los códigos Huffman • Separa el modelo probabilístico de la asignación de bits pudiendo definir codificadores adaptativos. • Es computacionalmente eficiente, aunque está sujeto a patentes. • Ejemplo: • Supongamos sólo dos símbolos, A y B con una probabilidad de P(A)=1/3 y P(B)=2/3.

  11. P(A) = 1/3 P(B) = 2/3 segmento código 1 AAA .11111 31/32 AA AAB 15/16 .1111 8/9 ABA 14/16 .1110 A AB ABB 6/8 .110 2/3 BAA 10/16 .1010 16/27 BA BAB 4/8 .100 4/9 BBA 3/8 .011 B 8/27 BB BBB 1/4 .01 0 Codificación aritmética: Ejemplo

  12. 3150000000376541111111127000000000000003 Datos a codificar (42): 315A0737654A1827A0143 Datos codificados (21): Tasa de compresión: 50% Run-length encoding • Se basa en detectar las repeticiones de símbolos (bits, números, etc) en los datos a codificar. • Ejemplo: • Este patrón es frecuente en multimedia: • Audio: Tiras de ceros que representan silencios. • Vídeo e imagen: Fondos del mismo color (paredes, cielos, etc.)

  13. Codificación basada en la fuente. • Se basan fundamentalmente en las propiedades de la fuente de datos a codificar. • Suelen tolerar pérdidas en la codificación (lossy codecs) que perceptualmente pasan inadvertidas para el usuario. • Son codificadores de propósito específico. • Por término general obtienen mayores prestaciones que los codificadores basados en la entropía.

  14. Codificación Diferencial • Se basa en la codificación de las diferencias entre dos símbolos consecutivos. • Ciertos tipos de datos tienen la propiedad de similitud entre símbolos consecutivos: • Señal de Audio, vídeo, imágenes, etc. • Esto permite codificar con pocos bits las diferencias. • Ejemplo: • DPCM (Differential Pulse Code Modulation) • Codificación con pérdida.

  15. Restar a todos los pixels el valor del primero Imágen BW 4x4 pixels 160 160 161 160 160 0 1 0 161 165 166 158 1 5 6 -2 160 167 165 161 0 7 5 1 159 160 160 160 -1 0 0 0 F(t) C t f Transform encoding • Se basa en transformar el dominio (Ej.: del temporal al de la frecuencia) de los datos de entrada (Ej.: señal de audio). • Ejemplos: • Aritmética: • Fourier: • DCT (Discrete Cosine Transformation): • Muy común en compresión de imágenes estáticas (JPEG). • Codificación sin pérdida*.

  16. Vector quantization • Es directamente aplicable a imágenes y audio. • Consiste en lo siguiente (imágenes): • La imagen se divide en bloques de tamaño fijo (vectores). • Se construye una tabla, code-book, con todos los vectores diferentes encontrados. • Se codifica la imagen como una sucesión de índices a la tabla. • Tanto el codificador como el decodificador necesitan conocer la tabla (code-book). • La tabla puede estar predefinida o ser creada dinámicamente. • Si en una imagen predomina un número reducido de vectores, el índice de compresión puede ser importante.

  17. Imagen original dividida en vectores de nxn pixels Code-book 0 0 0 1 0 1 2 2 2 0 001022032200400 2 3 2 2 0 3 0 4 0 0 4 Vector quantization (II) • Ejemplo: • Si un vector no se encuentra en el code-book: • Buscaremos el que más se parezca. • Idem + enviar algún dato para aumentar el parecido (valor medio). • Idem + enviar lo que sea necesario (vector error) para reconstruir el vector. • Codificación con pérdida*.

  18. Vector quantization (III) • CLUT (Color Look-Up Table) • Es utilizado para codificar imágenes RGB, que normalmente no utilizan todos los colores posibles. • Se utiliza una tabla (code-book) con los colores usados en la imagen. Cada pixel es representado con el índice de la tabla correspondiente a su color. • Ejemplo: • Imagen RGB de 24bits de color que solo usa 256. • Se construye una tabla de 256 entradas y en cada una de ellas se guarda un color (24 bits). • En lugar de usar 24bits/pixel, ahora usaremos 8bits/pixel • Tasa de compresión: ~66% • Codificación más lenta que decodificación.

  19. Tema 4:La compresión de datos Factores de diseño de un codec Codificación basada en la entropía Ejemplos: Huffman, Aritmética, etc. Codificación basada en la fuente. Ejemplos: Diferencial, Transformada, etc. Codificación y compresión de audio

  20. Introducción. • Las secuencias de audio forman parte de las aplicaciones multimedia. • El estudio de la codificación y compresión se puede enfocar en función de la aplicación: • Aplicaciones interactivas (audio-conferencia audio) codecs simétricos. • Aplicaciones de difusión y reproducción de medios (TV digital, audio Hi-Fi, DVD, etc.) codecs asimétricos • Características de una señal de audio. • Distintos tipos de calidad de audio. • Técnicas de compresión de audio.

  21. Características del audio • Una señal de audio no es más que una onda acústica (variaciones de presión del aire) • La señal de audio es unidimensional (tiempo) • El micrófono transforma las ondas acústicas que lo golpean, en señales eléctricas (niveles de voltaje) • El oído es muy sensible a las variaciones de sonido de corta duración (ms) al contrarío que el ojo humano. • La relación de dos sonidos A y B se mide en decibelios: • dB=20 log10 (A/B). • La intensidad de un sonido A se mide en decibelios tomando como referencia el menor sonido audible. • 0 dB: Menor sonido audible • La señal de referencia (B) es una onda senoidal a 1khz que provoca una presión de 0.0003 dinas/cm2 • A y B son amplitudes (si fueran potencias sería 10 log10 (A/B)) • 50 dB: Conversación normal. • 120dB: Umbral del dolor.

  22. Audible No audible Características del audio • El rango de frecuencias audibles por los humanos está entre 20Hz y 20KHz.

  23. Digitalización y cuantificación. • La digitalización de las señales de audio se realizan mediante convertidores A/D. • Muestrean la señal analógica de audio a una frecuencia determinada. • Según Nyquist: “Si la señal de entrada tiene una frecuencia máxima de f, la frecuencia de muestreo tiene que ser de al menos 2f “(al muestrear a Sf captaremos hasta la frec. Sf/2) • En el conversor D/A, un filtro paso bajo puede interpolar la parte de señal entre las muestras, para poder reconstruir perfectamente la señal original.

  24. Digitalización y cuantificación. • Cuantificación: Las muestras obtenidas se codifican en un número finito de bits • Error de cuantificación (quantification noise). • Codificación lineal o logarítmica. • PCM (Pulse Code Modulation). • Usado para la digitalización de señales de audio. • Parámetros: Sf, bits/muestra, niveles de cuantificación*

  25. Digitalización y cuantificación. • Cuantificación PCM lineal • Los niveles de cuantificación están espaciados de manera equitativa. • Cada bit de resolución añade 6 dB de rango dinámico. • Con 16 bits por muestra se cubre totalmente el rango dinámico del oído humano. • Cuantificaciones no-lineales (logarítmica) • Los pasos de cuantificación decrecen logarítmicamente. • El oído humano es menos sensible a sonidos fuertes.

  26. Digitalización: Interfaz MIDI • MIDI (Musical Instrument Digital Interface). • Utilizado para codificar música (instrumentos). • Codifica los elementos básicos (notas, silencios, ritmos, etc.) en mensajes MIDI. • Cada instrumento tiene su propio código (hasta 127) • Un sintetizador interpreta los mensajes MIDI y produce la señal de audio correspondiente. • Ventaja: • Reduce mucho el ancho de banda necesario (factor de 1000 !!) • Inconvenientes: • Necesidad de un sintetizador en ambos extremos (calidad de sonido diferente). • Aplicable solo a música.

  27. Calidad de una señal de audio. • Voz (telefonía) • Se define para los servicios de telefonía digital. • Estándar G.711 (ITU): Codificación logarítmica. • Japón y USA: Transformación µ-law. • Resto: Transformación A-law. (+) • Parámetros: • Señal de audio de 3.5 KHz (BW). • Sf = 8 KHz • 8 bits/muestra. • Tasa de bits: 64Kbps (N-ISDN). • Otras técnicas de codificación y compresión: • DPCM y ADPCM, • G.72x, • GSM, • LPC y CELP, • etc.

  28. Calidad de una señal de audio. • CD-Digital Audio. • Calidad de audio superior: Sonido Hi-Fi estereofónico. • Utiliza una codificación lineal. Las diferencias de amplitud deben ser respetadas por igual. • Parámetros: • Señal de audio de 20 KHz (BW). • Sf = 41.1 KHz • 16 bits/muestra. • Soporta estereofonía (dos canales) • Tasa de bits: 1.411 Mbps. • Otros estándares utilizan esta calidad de audio: • DAT (32.4 y 48 KHz), • MPEG (32, 44,1 y 48 KHz), • DVI, • etc.

  29. Parámetros específicos. • Tasa de bits (throughput): • Audio sin comprimir: • Calidad telefónica: 64Kbps. • Calidad CD: 1.411 Mbps. • Audio comprimido: • Calidad telefónica: 32, 16, 4 Kbps (ADPCM, CELP) • Calidad CD: 192 Kbps. (MPEG audio) • Retardo de tránsito (aplicaciones interactivas) • Conversación: • Telefonía: < 25 ms (evitar echo). • 100 a 500 ms (sensación de tiempo real).

  30. Parámetros específicos. • Varianza del retardo (jitter). • Es el parámetro más crítico para los streams de audio. • Solución: • Técnicas de ecualización del retardo. • Se suministra un tiempo adicional antes de comenzar la reproducción, almacenando los paquetes en un buffer de entrada. • Consecuencias: • Incrementamos el retardo total. • Necesitamos recursos de memoria para el buffer de ecualización. • Compromiso entre la capacidad de almacenamiento y el máximo jitter tolerable por la aplicación. • Tasas de error: • Calidad telefónica: < 10-2, Calidad CD: < 10-3

  31. Algoritmos de compresión (Voz) • Codificación diferencial: • DPCM (Differential Pulse Code Modulation). • Explota la redundancia temporal entre las muestras. • Se transmite la diferencia entre muestras (bastante menor). • Problema: Sobrecarga de gradiente (slope overload) • Las diferencias en altas frec.(cercanas a Nyquist) no se pueden representar con el mismo número de bits.

  32. C[n] X[n] D[n] Quantizer (adaptive) Dq[n] - Xp[n] C[n] Dequantizer (adaptive) + Xp[n-1] Dq[n] Xp[n] Predictor module Dequantizer (adaptive) + Xp[n-1] Predictor module Codificador Decodificador Algoritmos de compresión (Voz) • Codificación diferencial adaptativa: • ADPCM (Adaptive Differential Pulse Code Modulation). Predice la muestra y cuantiza adaptativamente. • Predicción: Codifica la diferencia entre la muestra actual y una estimación basada en las últimas “n” muestras

  33. Algoritmos de compresión (Voz) • Codificación diferencial adaptativa: • ADPCM (Adaptive Differential Pulse Code Modulation). Predice la muestra y cuantiza adaptativamente. • Cuantización adaptativa: Usa pasos más largos para codificar diferencias entre muestras muy distintas en magnitud (de alta frecuencia) y pasos más pequeños para muestras que son similares (bajas frecuencias).

  34. Dq[n] C[n] Xp[n] X[n] D[n] C[n] Dequantizer (adaptive) Quantizer (adaptive) + - Xp[n-1] Dq[n] Xp[n-1] Delay Xp[n] Delay Dequantizer (adaptive) + Predictor module Decodificador Codificador Una implementación de ADPCM • Algoritmo ADPCM (IMA: Interactive Multimedia Association) • Algoritmo de dominio público. Calidad de audio e índice de compresión aceptables. • Sencillo y capaz de trabajar en tiempo real (software). • Indice de compresión: (PCMbits/4) a 1.

  35. Calidad telefónica: Recomendaciones ITU • G.701: Digitalización PCM • G.711: Codificación logarítmica µ-law y A-law • G.721: ADPCM • Muestreo a 8 Khz, muestras de 8 bits: 64 Kbps • Utiliza diferencias de 4 bits: tasa de bits final 32 Kbps • G.722: Sub-Band ADPCM. • Muestreo a 16 Khz, muestras de 14 bits: 224 Kbps • Codifica señales de audio de hasta 7 KHz (por el muestreo) • Descompone la señal en dos bandas de 4 KHz. • A cada banda le aplica ADPCM. • Tasas de bits finales: 48, 56 y 64 Kbps. • G.723, G.726, G.727: • Variantes del G.721 (ADPCM).

  36. Calidad telefónica: Vo-coding • LPC (Linear Predictive Coding) US-FS-1015 • Define un modelo analítico del aparato fonador • Reduce cada segmento de audio a los parámetros del modelo que más se aproximan al original. • El decodificador recoge estos parámetros y sintetiza la voz correspondiente. • LPC-10E puede bajar hasta 2.4 Kbps. • CELP (Code Excited Linear Prediction) US-FS-1016. • Es una versión mejorada del LPC. • Diferencia: • Utiliza un code-book con secuencias predefinidas para aplicarlas a cada frame de audio, eligiendo aquella que más se aproxima al original. Además, calcula los errores cometidos. • Se envían los parámetros y la versión comprimida de los errores. • Tasa de bits de hasta 4.8 Kbps (calidad similar a ADPCM G.721 a 32 Kbps) • Variantes CELP: • GSM, VSELP, LD-CELP, ITU G.729, QCELP, MELT, etc.

  37. Calidad telefónica • Tabla resumen de algunos codecs de audio.

  38. Calidad CD • Estándares MPEG/audio (Estándar ISO) • MPEG (Moving Pictures Expert Group) • MPEG/audio ofrece altos índices de compresión, manteniendo la calidad del audio del stream original. • Son algoritmos de compresión con pérdidas*. • MPEG-1 /audio • Muestreos: 32, 44.1 y 48 KHz. • Soportan uno o dos canales (diferentes modos de operación). • Tasas de bits: 32 a 256 Kbps/canal. • Indices de compresión: 2.7 a 24. • MPEG-2 /audio • Compatibilidad hacia atrás con MPEG-1. • Diseñado para sistemas de sonido multicanal.

  39. MPEG-1 audio. • El stream comprimido puede incluir información auxiliar (acceso aleatorio, avance y retroceso rápido, CRC, etc.) • Arquitectura de tres niveles • MPEG-1 Nivel I: • El más sencillo. Tasa de bits 192 Kbps/canal. Aplicaciones: Philips DCC • MPEG-1 Nivel II: • Complejidad media. Tasa de bits 128 Kbps/canal. Aplicaciones: DAB, CD-I, Vídeo CD. • MPEG-1 Nivel III: • El más complejo. Ofrece la mejor calidad de audio con tasas de bits sobre 64 Kbps/canal. Está preparado para N-RDSI. • Existen codecs hardware de los tres niveles para aplicaciones de tiempo real.

  40. MPEG audio: Fundamentos. • Se basa en la capacidad de percepción que tiene el oído humano (modelos psico-acústicos) • Enmascaramiento de señales débiles (noise masking):

  41. MPEG audio: Fundamentos. • Discriminación frecuencial limitada. • La agudeza (selectividad) del oído humano en baja frecuencia es muy superior que en altas frecuencias (sub-band coding)

  42. Codificador Stream de bits comprimido PCM audio Time-Frec Sub-band filtering Asig. Bits. Cuantizador Codificador Formato del stream de bits Modelo psico-acúst. Datos auxiliares (opcional) Decodificador Stream de bits comprimido Reconst. de bandas PCM audio Transformación Frec-Time Desensamblado Datos auxiliares (opcional) MPEG Audio: Diagrama de bloques

  43. MPEG-1 audio: Niveles. • Nivel I: • Se divide la señal de audio en 32 bandas de 750 Hz. • Tasa de muestreo: 48 Khz. Tamaño de trama: 384 muestras • El umbral de enmascaramiento (SMR) se calcula con una FFT de 512 puntos (modelo psico-acústico). • Para cada sub-banda se escoge uno de los 15 cuantizadores definidos en función del SMR y la tasa de bits requerida. • Nivel II: • Utiliza un tamaño de trama de 1152 muestras, una FFT de 1024 puntos (cálculo del SMR) y una cuantización más fina. • Nivel III: • Incrementa la resolución en frecuencia de las 32 bandas (MDCT), utiliza un modelo psico-acústico más elaborado, y añade una etapa de compresión Huffman.

  44. MPEG Audio: Calidad de audio • Parámetros de calidad objetivos: • MSE (Mean Square Error). • Calcula el error cuadrático medio entre la señal original y la reconstruida con el codec. • SNR (Signal-to-Noise Ratio) • Relación logarítmica entre dos señales. Se utilizará para comparar la señal original con el error introducido por el codec. • Se expresa en decibelios (dB).

  45. MPEG Audio: Calidad de audio. • Parámetros de calidad subjetivos: • MOS (Mean Opinion Score): MPEG define una serie de tests para determinar la calidad de audio generada por cada nivel. • Resultados: • Fuente: • Estéreo, 16bits, 48KHz, 256 Kbps • Compresión 6:1 • En condiciones de escucha óptimas, expertos en audición han sido incapaces de distinguir secuencias comprimidas de sus originales.

More Related