¿Cómo Funciona la Compresión de Archivos?

Compresion de archivos

Si has descargado de Internet programas o archivos, probablemente te has encontrado con ficheros ZIP. Este sistema de compresión es un invento muy útil, especialmente para los usuarios de Internet, ya que permite reducir todo el conjunto de bits y bytes en un archivo para que se pueda transmitir más rápido de Internet al usuario. Esto es esencial sobre todo para conexiones lentas, y además nos ahorra mucho espacio en nuestro disco duro.

Una vez que has descargado el archivo, tu ordenador usa unos programas para expandir el archivo a su tamaño original. Si todo funciona bien, el fichero o archivo expandido, es idéntico al original antes de que fuera comprimido.

A primera vista puede parecer algo complicado hacer esto. ¿Cómo se puede reducir los números de bits y bytes, y después volverlos a añadir de forma exacta? Lo cierto es que el sistema utilizado es bastante simple, dentro de su complejidad. A continuación veremos como funciona este proceso.

Muchos archivos dentro de los ordenadores son redundantes – tienen la misma información listada una y otra vez. Los programas de compresión de archivos simplemente se libran de esa redundancia. En lugar de listar un trozo de información repetidamente, lo que hace es listar esa información una sola vez y luego hace referencia de ella cada vez que aparece en el programa original. Como ejemplo, veamos un tipo de información con el que estamos familiarizados, como el programa Word.

Imaginemos que tenemos uno de estos documentos con las frase “Tengo una casa bonita, que bonita es mi casa”. Tenemos 9 palabras formadas por 35 letras, 7 espacios y una coma. Si cada letra, espacio o marca de puntuación lleva una unidad de memoria, tenemos un fichero con un tamaño total de 43 unidades. Para poder hacer este archivo más pequeño, hay buscar redundancias. De forma inmediata vemos que la palabra ’bonita’ y ‘casa’ se repiten dos veces.

Estas dos palabras son las que realmente le están dando sentido a la frase, y un compresor lo que hará en la segunda parte de ella, es apuntar a estas palabras en la primera parte.

Muchos programas de compresión utilizan una variación del algoritmo basado en diccionario LZ, para comprimir los archivos. La LZ se refiere a los creadores (Lempel y Ziv), ‘diccionario’ se refiere al método para catalogar los trozos de información. El algoritmo lo que hace es buscar patrones y asignarles un número. Entonces lo que está repetido es memorizado con un solo número que recuerda ese carácter en particular.

La colocación original de todas esas repeticiones queda grabada, por lo que cuando se expande el archivo a su estado original. El número sirve para poner ese carácter de nuevo donde estaba.

Puede que en el archivo Word de ejemplo que hemos dado, haya pocas repeticiones, y la compresión será mínima, pero imagínate en un libro grande con miles de palabras. Las repeticiones serán innumerables, y por tanto la compresión si que se notara bastante. Este sistema de compresión es llamado compresión sin pérdidas, porque genera el archivo original de una manera exacta. Este sistema de compresión sin pérdidas está basado en la idea de partir un archivo en algo más pequeño para su transmisión o almacenamiento, y volver a dejarlo como estaba en su destino para que pueda ser usado.

Hay otro sistema llamado compresión con pérdidas, que trabaja de una forma diferente. Estos programas simplemente eliminan bits de información “innecesarios” y haciendo que el archivo sea más pequeño. Este tipo de compresión se usa mucho para reducir el tamaño de fotos en formato GIF, que suelen ser grandes. Para saber como funciona, veamos como tu ordenador comprimiría una foto escaneada por ejemplo.

Un programa de compresión sin pérdidas no puede hacer mucho con este tipo de archivo. Mientras que partes amplias de la fotografía pueden parecer iguales – el cielo azul por ejemplo – muchos de los píxeles individuales son algo diferentes. Para hacer esta foto más pequeña sin comprometer la resolución, hay que cambiar los valores de los colores para ciertos píxeles.

Si la foto tiene una gran parte de cielo azul, el programa cogerá un color azul que pueda ser usado para cada píxel. Entonces, el programa reescribirá el archivo para que el valor de todos los píxeles del cielo, hagan referencia de esta información. Si la compresión funciona bien, no notarás apenas el cambio, pero el archivo quedará significadamente reducido.

Por supuesto, con la compresión sin pérdidas no se puede recuperar el archivo original después de ser comprimido. Por este motivo, no se debe utilizar este tipo de compresión para cosas que necesitan ser reproducidas de una forma exacta, como las aplicaciones de software, bases de datos, etc.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.