Ir al contenido principal

¿Qué es la compresión de archivos?


Por Fabrizio Ferri-Benedetti el día 10 enero, 2013 (ONSoftware)


La foto que encabeza este artículo está comprimida. Con respecto a la original, usa un 3% de los colores y omite numerosos detalles. Por otro lado, solo ocupa un 5% del espacio en disco.
Que la foto ocupe tan poco espacio no es un milagro: se debe a la compresión de datos, una técnica computacional que se aplica también a la música y vídeos que disfrutas a diario.
En este artículo te explico cómo funciona la compresión de archivos (normales y multimedia), por qué es tan importante y cómo puedes sacarle el máximo provecho en tu día a día.

¿Qué significa comprimir un archivo?

Comprimir es lograr que un archivo ocupe menos sin corromperlo.
Los archivos almacenados en tu disco duro ocupan un espacio determinado sobre la superficie del disco. Si se siguen añadiendo más datos, llegará un momento en el que ya no quedará espacio.
Antes de que se inventara la compresión de archivos, solo había dos opciones: borrar los archivos o añadir más espacio comprando un nuevo disco duro. Dos opciones poco prácticas.
La compresión aplica métodos matemáticos -algoritmos- a los datos para conseguir que estos ocupen menos espacio en el disco, quitando la necesidad de borrar o ampliar el espacio.

Compresión sin pérdida (lossless) vs. Compresión con pérdida (lossy)

Existen dos tipos principales de compresión: sin pérdida de datos (lossless) y con pérdida de datos (lossy). Ambos tipos de compresión tienen sus ventajas e inconvenientes. En la siguiente tabla puedes ver algunos ejemplos de formatos de archivo y su tipo de compresión:
Ten en cuenta a veces se usa un formato para juntar varios archivos en uno sin compresión, cosa que ocurre, por ejemplo, con el formato ISO. En ese caso hablamos de empaquetado de archivos, operación para la que también sirve el formato ZIP.

Compresión sin pérdida o lossless: inflar y desinflar globos

La compresión sin pérdida o lossless consiste en analizar el archivo en busca de repeticiones y patrones que se puedan resumir. Es lo más parecido a comprimir un acordeón. Mira, por ejemplo, este documento con varios tipos de datos:
Cuando lo comprimimos en formato ZIP, que es lossless, esto es lo que ocurre al “acordeón” original que es nuestro archivo de ejemplo:
Como ves, los sectores que se repetían se han reducido mucho, pero los datos no se han perdido: el formato ZIP ha guardado instrucciones que indican cómo “reinflar” el archivo para usarlo.
Nota también cómo algunos de esos sectores (los grises) no se han comprimido apenas: esto se debe a que el nivel de redundancia de esas partes es menor. En otras palabras, si no hay nada que se repita, el compresor no hace nada. Eso explica por qué comprimir archivos muy optimizados, como los JPG, es inútil.
Encontrar repeticiones en un texto es fácil. Por eso la compresión es muy eficaz con los TXT
Otra razón por la que pueden quedar partes sin comprimir es que cada tipo de dato requiere un enfoque distinto a la hora de ser comprimido sin pérdida. Es por ello que hoy en día se prefiere usar compresores específicos para determinados tipos de archivos, llamados comúnmente códecs.
Prácticamente todos los compresores de archivos (WinZip, WinRAR, 7Z) recurren a la compresión lossless porque es fiable y segura: la integridad de los datos se mantiene, y esa es su mayor ventaja. Si necesitas disminuir el espacio ocupado por documentos importantes, la compresión lossless debe ser tu primera elección.
El inconveniente principal de la compresión lossless es que no siempre resulta eficaz, y que el ahorro de espacio que consigue es inferior al que obtienen las técnicas lossy.

Compresión con pérdida o lossy: quitar las piezas no-esenciales

La compresión lossy disminuye el espacio ocupado por un archivo usando una técnica bastante más radical: elimina información que resulta irrelevante para los sentidos humanos.
Por ejemplo, la compresión JPG reduce las variaciones de brillo y color de una foto, mientras que el formato MP3elimina frecuencias de sonido inaudibles para el oído humano.
Arriba, la forma de onda de un archivo WAV sin compresión; abajo, la versión MP3 a 40kbps (fuente: Audio Grains)
Una cosa a tener en cuenta es que mientras la compresión lossless siempre es máxima, la compresión lossy es ajustable por el usuario como si de un control de televisión se tratara.
La diferencia entre la primera y la segunda Lenna es imperceptible a simple vista
Al comprimir con un algoritmo lossy, hay que preguntarse siempre qué nivel de calidad consideramos aceptable para el uso que vamos a dar al documento comprimido. Es importante consultar una vista previa y no sobrescribir el original.
El compresor de imágenes RIOT en acción. Nota la diferencia de tamaño entre las dos imágenes
La ventaja innegable de la compresión lossy es que consigue reducir el tamaño de los archivos de manera espectacular sin que el contenido pierda sentido.
Gracias a su potencia, la compresión lossy posibilitó el crecimiento de Internet a finales de los 90 gracias a las imágenes JPG. El formato MP3, por otro lado, revolucionó el panorama de la música digital (e hizo posible Napster y el iPod).
Y, desde hace unos años, los formatos de vídeo comprimido han transformado la industria del cine y la televisión. Al poder enviar más datos en menos tiempo y ocupando menos espacio, autores y consumidores audiovisuales han salido ganando.

La baja fidelidad, un fenómeno al que nos hemos adaptado

El problema de la compresión lossy radica en la pérdida de fidelidad con respecto al original, una pérdida que no se puede recuperar de ninguna manera.
La información eliminada por un algoritmo lossy se pierde para siempre. Y empeora al guardar el archivo. Mira lo que ocurre al sobrescribir un archivo JPG más de 500 veces:
Una “culpa” que se puede achacar a la compresión con pérdida de datos es que nos ha acostumbrado a una menor fidelidad audiovisual: que una película presente artefactos de compresión y tenga un sonido aplanado no nos parece importar. Es más, hay incluso quien convierte estas imperfecciones en una herramienta artística.
Un ejemplo de datamoshing, esto es, el uso deliberado de artefactos de compresión para crear videoarte
Mientras tanto, los puristas siguen alabando la fotografía analógica en gran formato y los discos compactos, dos tecnologías que, a pesar de ser obsoletas, mantienen una fidelidad máxima con el original. Y cuidado con decirle a un fan del Hi-Fi que escuche canciones MP3 con un bitrate inferior a 320kbps: torcerá la nariz y volverá a sus mini-disc.
Pero ¿guardarías tú todas tus fotos en formato BMP / RAW, tus vídeos en AVI y toda tu música en formato WAV? Obviamente no: necesitarías un disco duro veinte veces más grande que el que tienes actualmente. Y para disfrutar de esos contenidos en Internet, necesitarías una conexión de fibra óptica como las que usan las universidades.
Así pues, la compresión lossy es el pequeño precio que tenemos que pagar por disponer de una cantidad enorme de información audiovisual sin tener que gastar un dineral en infraestructuras de reproducción y conexiones ultra-rápidas a Internet. Para algunos ese precio es demasiado alto; para otros, aceptable. Y ahí radica, quizá, la gracia de la compresión.

Comentarios

Entradas populares de este blog

Error en outlook: El servidor IMAP desea avisarle sobre lo siguiente: Web login required (Failure

Error en outlook: El servidor IMAP desea avisarle sobre lo siguiente: Web login required (Failure) Cuando el outlook (u otro cliente de correo) saca este error en cuentas de gmail o google apps: El servidor IMAP desea avisarle sobre lo siguiente: Web login required (Failure) y pide que se ingrese la contraseña varias veces pero sigue sin funcionar se debe hacer lo siguiente: 1. Verificar que el usuario ya haya ingresado por primera vez por el navegador al correo, para desbloquear el CAPTCHA (las letras difusas) 2. Cambiar el password del usuario desde su propia cuenta. 3. Establecer el tiempo de envío y recepción de correo mayor a 10 minutos desde la configuración del Outlook. 4. Cambiar el password del usuario en el outlook para que quede con el nuevo password. Si al usuario no le sale el CAPTCHA debe ingresar a esta dirección (si es google apps): https://www.google.com/a/dominio/UnlockCaptcha Donde dominio es el dominio de la cuenta. Si es gmail: https://www.google.com/account

7 Consejos para ahorrar al hacer compras online

Posted: 29 Jul 2011 08:00 AM PDT Con el crecimiento ineludible de internet, es un hecho que cada vez más personas prefieren comprar por internet por múltiples razones, ya sea que compres música a través de iTunes o libros electrónicos en Amazon , licencias de software antivirus o hasta consolas o ropa en eBay, lo que es un hecho es que cada vez más personas se animan a comprar online. Tras algunas decenas de experiencias comprando online, hoy decidí hacer un recopilatorio de algunos tips o consejos para ahorrar dinero cuando hagan compras en internet . De alguna manera pretendo complementar el artículo guía de comprar en Mercado Libre y la infografía de hábitos de compras online . Tal vez luego publique otro relacionado a la seguridad en compras online. Sigue a tus marcas en las redes sociales Cada vez más integrados con internet, es común ver a marcas de ropa geniales como Gap o Banana Republic dando ofertas desde los muros de sus páginas de Facebook. Es una
Posted by taringa.net Tips para aprender a programar (rápidamente) desde cero! Posiblemente hayas escuchado algún titulo parecido anteriormente, pero la verdad es que “programar es todo un arte”. Y no porque sea complicado, sino porque lleva su tiempo y dedicación, como todo en la vida.  Así que recordando aquellos días en que era un novato (en realidad lo sigo siendo pues en este actividad siempre se aprende), he decido dejarte 3 tips con el fin de ayudar un poco a que desarrolles rápidamente lo necesario y seas el próximo Miguel Ángel de este “arte”. Por favor espera a que el post cargue por completo. 1.- Juega!   No, no es broma… juega! Pero no cualquier juego, sino aquellos que te hagan pensar como todo un programador.  Para empezar en “el arte de la programación” todo es cuestión de lógica, ya que una computadora por si sola no sabrá como manejar los datos que le introduzcamos. Así que para darte una idea de esto, te reto a que venzas los siguientes  mini  jueg