jueves, 25 de abril de 2013

Run-lenght encoding(RLE)

El método run-length encoding es uno de los algoritmos mas simples de compresión de datos sin perdida, aunque solamente es efectivo en cadenas muy repetitivas o de gran aparición, seria útil para algunas imágenes animaciones pero en archivos que no son muy repetitivos probablemente tenga un efecto negativo y incremente el tamaño embez de comprimirlo.

Para el ejemplo usare la cadena:

MMMMMMMMMMMMMMMBBBBBFFFFFSSSSMMMMMMM

Compresión

Para la compresión lo que hay que hacer es ir contando las letras que se repiten en la cadena y poniendo el numero de repeticiones después de ella hasta que ocurra un cambio a otra letra y repetir el proceso.

15M5B5F4S7M

Esto reduce una cadena de 36 caracteres a 11 caracteres, si bien no aplica para todos los casos en algunos ejemplos podría ser bastante útil por ejemplo una foto en blanco y negro solo contiene 2 tipos de valores que se repiten a lo largo de toda la imagen por lo cual este método seria bastante útil.

Descompresión

Para la descompresión es muy simple ya que es bastante intuitivo el método por lo que solo hay que quitar los números y poner la letra de la derecha el numero de veces que este señalado. Volviendo a la cadena original.

Se utiliza el diccionario que se genero donde se contiene la cantidad de repeticiones de cada letra
15M5B5F4S7M

MMMMMMMMMMMMMMMBBBBBFFFFFSSSSMMMMMMM

Fuentes




2 comentarios:

  1. Pues, es un método exageradamente simple y NO es un método de diccionario, pero van un punto por la codificación y otro por la decodificación como extras en tarea 5.

    ResponderEliminar
  2. NP en tarea de códigos bloque.

    ResponderEliminar