Descargar

Codificación de información multimedia

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    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. 1

    edu.red

    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. 2

    edu.red

    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: 3

    edu.red

    Codificación Huffman: Ejemplo 4 (Gp:) ABCDE(39) (Gp:) 0 (Gp:) 1

    (Gp:) DE(11) (Gp:) 1 (Gp:) 0

    (Gp:) BC(13) (Gp:) 1 (Gp:) 0

    (Gp:) BCDE(24) (Gp:) 1 (Gp:) 0

    A(15) B(7) C(6) D(6) E(5)

    edu.red

    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. 5

    edu.red

    Codificación aritmética: Ejemplo 6 (Gp:) A (Gp:) B (Gp:) 2/3

    (Gp:) 4/9 (Gp:) 8/9 (Gp:) AA (Gp:) AB (Gp:) BA (Gp:) BB

    (Gp:) 16/27 (Gp:) 8/27 (Gp:) AAA (Gp:) AAB (Gp:) ABA (Gp:) ABB (Gp:) BAA (Gp:) BAB (Gp:) BBA (Gp:) BBB

    (Gp:) 0 (Gp:) 1 (Gp:) P(A) = 1/3 P(B) = 2/3

    (Gp:) segmento (Gp:) 31/32 (Gp:) 15/16 (Gp:) 14/16 (Gp:) 6/8 (Gp:) 3/8 (Gp:) 1/4 (Gp:) 10/16 (Gp:) 4/8

    (Gp:) código (Gp:) .11111 (Gp:) .110 (Gp:) .1010 (Gp:) .100 (Gp:) .1111 (Gp:) .1110 (Gp:) .01 (Gp:) .011

    edu.red

    Run-length encoding Se basa en detectar las repeticiones de símbolos (bits, números, etc) en los datos a codificar.

    Ejemplo: 7 (Gp:) Datos a codificar (42): (Gp:) 3150000000376541111111127000000000000003 (Gp:) 315A0737654A1827A0143 (Gp:) Datos codificados (21): (Gp:) Tasa de compresión: 50%

    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.)

    edu.red

    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. 8

    edu.red

    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. 9

    edu.red

    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*. 10 (Gp:) t (Gp:) F(t) (Gp:) C (Gp:) f

    (Gp:) 160 (Gp:) 160 (Gp:) 161 (Gp:) 160 (Gp:) 161 (Gp:) 165 (Gp:) 166 (Gp:) 158 (Gp:) 160 (Gp:) 167 (Gp:) 165 (Gp:) 161 (Gp:) 159 (Gp:) 160 (Gp:) 160 (Gp:) 160 (Gp:) 160 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 5 (Gp:) 6 (Gp:) -2 (Gp:) 0 (Gp:) 7 (Gp:) 5 (Gp:) 1 (Gp:) -1 (Gp:) 0 (Gp:) 0 (Gp:) 0 (Gp:) Imágen BW 4×4 pixels (Gp:) Restar a todos los pixels el valor del primero

    edu.red

    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. 11

    edu.red

    Vector quantization (II) Ejemplo: 12 (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 2 (Gp:) 2 (Gp:) 2 (Gp:) 0 (Gp:) 3 (Gp:) 2 (Gp:) 2 (Gp:) 0 (Gp:) 0 (Gp:) 4 (Gp:) 0 (Gp:) 0 (Gp:) Imagen original dividida en vectores de nxn pixels

    (Gp:) 0 (Gp:) 1 (Gp:) 2 (Gp:) 3 (Gp:) 4 (Gp:) Code-book

    (Gp:) 001022032200400

    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*.

    Partes: 1, 2
    Página siguiente