Generalidades
Una de las muchas variantes de la Ley de Murphy nos dice “nunca se tiene suficiente
dinero, tiempo o memoria” en nuestro caso espacio en disco duro. Para solucionar la falta de
espacio se tienen básicamente tres opciones:
1-Comprar un disco duro más grande.
2-Borrar los archivos que ya no necesitamos, y que luego por una extraña razón los vamos a
necesitar nuevamente.
3-Comprimir los archivos.
De estas tres opciones la más económica y que menos problemas nos dará es la de
comprimir los archivos. El término de comprimir se refiere a tratar los archivos de tal manera
para que ocupen menos espacio. Además del obvio ahorro en espacio, es muy útil para transmitir
información a través de una red ya que se envía la misma información pero con menos bits.
La tasa (también llamada ratio) de compresión (porcentaje que se reduce el archivo
después de comprimirlo) varía según el tipo de archivo (procesador de texto, hoja de cálculo,
música, fotografías, videos, etc.) y el método (o modo) de compresión, ejemplo de esto último es
“la mejor compresión, compresión normal y compresión rápida” o sus equivalentes según el
programa que utilices. Otro factor a tomar en cuenta es el formato de compresión, ya que
diferentes formatos de compresión comprimen a distintas tasas, los más comunes son: zip, rar,
ace, cab, tar, jpg, mpg, DivX y mp3. Obviamente el comprimir un archivo ya comprimido no trae
ningún beneficio en términos de ahorro de espacio y de calidad.
Tipos de compresión
Existen dos tipos de compresión: compresión sin perdida y compresión con perdida. Cada
una de ellas tiene un uso específico y sus ventajas y desventajas.
Compresión sin perdida
Como su propio nombre lo indica no hay ninguna perdida de información al momento de
realizar la compresión. Se puede usar para comprimir cualquier tipo de archivo aunque la tasa de
compresión obtenida es normalmente media. Para llevar a cabo esto se busca información
repetida para trabajar sobre ella, utilizándose básicamente dos métodos:
a)-Buscar cadenas repetidas de caracteres: por ejemplo la secuencia CCCCCCCCC ocupa 9
bytes, comprimiéndola ocuparía solo 2 bytes ya que se representaría como 9C. Esto es un caso
perfecto ya que raramente se tiene este tipo de patrón excepto en las imágenes debido a la
repetición de colores en algunas zonas.
b)-Reconocer los caracteres o palabras que más se repiten: examina los caracteres que más se
repiten para codificarlos de manera más corta, aplicando por ejemplo el algoritmo de Huffman.
En el caso de repetición de una misma palabra, ésta se identifica con una clave (más corta que la
palabra que sustituye) y se inserta en donde se repita la misma palabra, de esta manera se
consigue un buen ahorro de espacio. Un ejemplo sería un documento que tratara sobre
computación, las palabras que probablemente se repetirían son computación, computadora,
Internet, web, siendo éstas palabras las que se identificarían con una clave.
A partir de Windows ME, los sistemas operativos Windows integran un programa para
comprimir/descomprimir archivos aunque es muy limitado: solo maneja archivos zip sin otras
opciones más que la de elegir el lugar de compresión/descompresión y la posibilidad de añadir
una contraseña, pero para salir del apuro es más que suficiente. Anteriormente había que utilizar
aplicaciones de terceros.
He aquí algunos nombres de programas para comprimir/descomprimir:
Los dos últimos gratuitos los demás son de paga. Todos ellos son capaces de
comprimir/descomprimir zip, así como otros formatos y obviamente también tienen su formato
nativo de compresión. Algo común a todos los programas de compresión es que el número de
formatos que pueden descomprimir es siempre mayor al número de formatos que es capaz de
comprimir.
Compresión sin perdida en dibujos y fotografías
Aunque esta opción también existe para dibujo y fotografías no esperen tasas de
compresión muy elevadas. Los dos formatos utilizados son gif y tif (o tiff). Ambos tienen en
común en que aplican el algoritmo Lzw para comprimir sin perdida, pero hasta allí acaban las
similitudes. El formato gif esta orientado a imágenes que no tengan más de 256 colores, o sea,
dibujos o logotipos. Tif soporta calidad fotográfica, por lo que esta más orientado hacia la
fotografía.
Compresión con perdida
A diferencia del tipo de compresión anterior en la que es posible recuperar la información
comprimida con total fidelidad, en la compresión con perdida se pierde información y esta es
irrecuperable. Esto sería fatal para documentos de texto, hojas de cálculo o programas. Debido a
la perdida de información se obtienen altas tasas de compresión, alrededor de 10 veces más
pequeño que el archivo original sin perdida apreciable de calidad en el caso de la música y de
hasta 250 veces menos en videos. Se aplica en video, música y fotografía.
Aunque parezca absurdo el perder información, el resultado puede ser utilizable si la
compresión se hace con sumo cuidado. Esto es posible porque la compresión con perdida esta
basado en las limitaciones de la vista y oído humanos.
Compresión con perdida en video
¿Porqué comprimir un video? porque en su estado original una película de 1 hora puede
ocupar más de 100 GB, o sea, 15 DVD o más de 100 CD. Además del obvio ahorro de espacio al
comprimirla se volverá más fácil de transmitir a través de una red. Una vez comprimida puede
ocupar muchos menos espacio que antes. Como ya se menciono esto es debido a las limitaciones
de la vista humana. El ojo humano es muy limitado y estas limitaciones son aprovechadas con
creces:
a)-No es muy sensible a los cambios de respuesta en frecuencia por unidad de tiempo, por lo que
solo le bastan 24 imágenes por segundo para que el ojo lo interprete como una imagen continua.
Esto es debido a que cada fotograma queda “impreso” en el ojo una fracción de segundo.
b)- Debido a su estructura el ojo no es muy sensible a los detalles finos. Por ejemplo en la escena
donde el barco Titanic zarpa las gentes que están en el muelle despidiéndolo fueron diseñadas en
computadora sin rasgos faciales, es un detalle tan fino que nuestros ojos no percibieron la
diferencia.
c)-Interpretación de los colores: el ojo humano interpreta todos los colores como una
combinación de tres colores básicos (RGB, Red-Green-Blue, Rojo-Verde-Azul) por lo que no es
necesario producir toda la paleta de colores.
d)-En las imágenes en movimiento no todo cambia en el tiempo. Lo que cambia regularmente es
el primer plano (lo que enfoca la cámara) mientras que el fondo permanece sin cambios o casi sin
cambios. En este caso lo que se comprime es la información que permanece estática. Un caso
exagerado de esto son ciertos dibujos animados en donde los personajes solo mueven la boca y
los ojos al hablar mientras todo lo demás permanece estático. Un caso contrario en donde la
compresión sería mínima son las secuencias de las películas en donde tanto el primer plano como
el fondo cambian rápidamente, esto es típico de combates aéreos o de secuencias de acción.
Aunque lo anterior no es una limitación del ojo humano, si es muy utilizado debido a que se
ahorra bastante espacio con esta técnica.
En la siguiente tabla se resumen los principales formatos de compresión en video así
como el uso que se le da:
Formato de compresión | Formato de video | Tiempo de reproducción |
MPEG-1 | VCD(calidad VHS) | 70 minutos. |
MPEG-2 | SVCD, DVD | 35-60 min.(SVCD), 2.5 hrs.DVD doble capa. |
MPEG-4 | DivX | 120 min.de video de alta calidad en un CD. |
MPEG: Motion Picture Expert Group. MPEG-3 no se utiliza en la actualidad.
Puede llegar a suceder que al momento de reproducir una película no puedas verla y es
porque posiblemente no tengas los códecs con que fue hecha. La palabra códec significa
codificador/decodificador y son necesarios debido a que ellos contienen la “fórmula” para poder
comprimir/descomprimir la película de forma correcta. Los códecs son compatibles con cualquier
reproductor que tengas instalado.
El programa regularmente utilizado para ver películas es Windows Media Player, si
buscan una alternativa les recomiendo ampliamente BSPlayer, el cual es gratuito y lo podrán
descargar de
http://www.bsplayer.org/
Compresión con perdida en música
A diferencia del ojo, el oído es más sensible sin embargo no es capaz de extraer todos los
sonidos y esto es considerado como información redundante y por lo tanto desechable. Como
ejemplo tomaremos un CD de música el cual presenta las siguientes características: sonido
estéreo con una frecuencia de muestreo a 44 100 Hz, frecuencia de respuesta plana desde los 10
Hz hasta los 22 000 Hz (22 KHz), 16 bits. Con estas características una pieza extraída del CD
ocupa aproximadamente 1 411 200 bits por segundo. Sin embargo todos hemos escuchado
archivos mp3 a 128 kilobits por segundo (kbps, kilo significa 1 000) sin perdida apreciable en la
calidad. ¿Cómo es esto posible? nuevamente jugando con las limitaciones de nuestro oído:
a)-Umbral del oído humano: así se le conoce a los límites inferior y superior que nuestro oído ya
no puede percibir. El oído percibe sonidos desde los 20 Hz hasta los 20 KHz por lo que sonidos
por debajo y arriba de estas frecuencias ya no escuchamos. Hz (Hertz) es una medida que nos
dice cuantas vibraciones pasan por un punto en un segundo, por lo que 20 Hz significa 20
vibraciones por segundo y 20 KHz 20 000 vibraciones por segundo. A mayor número de
vibraciones por segundo el sonido será más agudo. A 20 Hz tenemos el sonido más fuerte de las
explosiones, mientras que los 20 KHz lo percibimos en el tintineo más fino (o agudo) de una
campanilla de cristal. Como vemos en el CD hay grabadas frecuencias que nosotros no podemos
percibir y que por lo tanto pueden ser descartadas sin sacrificar calidad.
b)-Efecto máscara o enmascaramiento: se refiere sencillamente a que ciertos sonidos más fuertes
tapan u ocultan a otros más suaves y que por lo tanto no alcanzamos a escuchar. Estos sonidos
tapados son, por lo tanto, eliminados con el consiguiente ahorro de espacio.
c)-Utilización del algoritmo de Huffman: aunque esta técnica es propia de la compresión sin
perdida, también es aplicable a la compresión de sonido. Lo que hace es revisar el archivo en
búsqueda de cadenas repetidas de datos y guarda solo una copia de cada una de ellas con una
referencia a la cantidad de veces que aparece. Esto es aplicado con bastante éxito a los coros de la
música ya que ellos regularmente interpretan la misma estrofa en varias partes de la canción.
Como se menciono anteriormente a 128 kbps se tiene una buena calidad de sonido, ¿pero
que significa exactamente este número? como su propio enunciado lo dice es que esa pieza
musical es codificada (convertida a mp3) y descodificada (reproducida) a un ritmo de 128
kilobits por segundo. A esto se le llama bitrate: cantidad de espacio (en kilobits) que se necesita
para almacenar un segundo de música y existen los tipos fijo y variable.
a)-Bitrate fijo o constante: al momento de realizar la conversión a mp3 el programa solicita el
bitrate y si seleccionamos fijo, éste se va a mantener constante durante toda la conversión.
b)-Bitrate variable: esta opción permite configurar un valor mínimo y máximo de bitrate. Así el
programa de conversión a mp3 decide sobre la “marcha” que bitrate aplicar. Por ejemplo si la
canción contiene unos instantes de silencio o donde se escuchan pocos instrumentos se aplica el
bitrate mínimo, mientras que el bitrate máximo es aplicado cuando se escuchan todos los
instrumentos. Este tipo de bitrate es el que en teoría te debe de dar la mejor relación
calidad/tamaño del archivo.
El tamaño del bitrate aplicado va a repercutir directamente en la calidad del archivo y en
su tamaño, la regla es simple: a mayor bitrate mayor calidad de sonido pero también mayor
tamaño. Considero que a 128 kbps se obtiene una buena relación entre calidad de sonido y
tamaño del archivo.
Los formatos más utilizados son mp3, wma, ogg y mp3pro. El programa por excelencia
para reproducir mp3 es sin lugar a dudas Winamp (gratuito, http://www.winamp.com/), aunque le
siguen de cerca Windows Media Player (integrado en el sistema operativo) y Quintaessential
Player (gratuito, http://www.quinnware.com/). Por cierto, mp3 significa MPEG-1 Layer 3.
Un programa útil para convertir a mp3, y que además es gratuito y lo puedes configurar al
idioma español, es CD-Ex y lo puedes descargar de http://cdexos.sourceforge.net/
Otro programa recomendable es FreeRip, que también es gratuito pero en inglés, el cual lo podrás
descargar de http://www.mgshareware.com/frmmain.shtml
Compresión con perdida en fotografía
El formato indiscutible de este tipo de compresión es sin ninguna duda jpg (JPEG: Joint
Photographics Expert Group). Permite ajustar diferentes niveles de compresión según la calidad
que queramos aplicar al archivo. Esta especialmente orientado a la fotografía ya que permite
almacenar hasta 16 700 000 colores. Para comprimirlas utiliza el algoritmo de Huffman, es decir,
busca un patrón repetitivo de valores (colores en este caso) para guardar solo una vez el valor
para posteriormente repetirlo en donde sea necesario.
Hay que tener especial cuidado a la hora de retocar una fotografía en jpg porque si la
volvemos a guardar en jpg va a ver una perdida apreciable de calidad debido a que estamos
recomprimiendo una imagen ya comprimida. Por eso lo mejor es guardar las fotografías
originales en un formato no comprimido (como bmp por ejemplo) o con compresión sin perdida
(tiff con Lzw), si esto no es posible guardala en jpg pero con la menor compresión posible. Por lo
tanto hay que hacer énfasis en la tasa de compresión que vayamos a aplicar, ya que si aplicamos
mucha compresión el archivo resultante será de tamaño pequeño pero la fotografía presentara
cuadros visibles que agrupan mismos colores (imagen pixelada) o manchas; en cambio si
elegimos aplicar poca compresión la imagen va a ser de gran calidad pero con un tamaño de
archivo grande. Vas a tener que decidir que es más importante: la calidad o el espacio que ocupe
según el uso que le vayas a dar a la fotografía, no es lo mismo comprimir una fotografía para
“colgar” en Internet que para imprimirla, en este último caso la compresión tiene que ser mínima
para obtener una buena calidad en la impresión.
Prácticamente cualquier programa de retoque de imágenes que se precie como tal debe ser
capaz de abrir y guardar sin ningún problema archivos en formato jpg, eso sí, los más básicos no
tienen la capacidad de poder ajustar manualmente la compresión.
Un programa muy recomendable para el retoque de imágenes es The GIMP, una
aplicación totalmente gratuita que ha saltado de Linux a Windows. Debido a la cantidad de
funciones que posee es una alternativa muy válida a otros programas de paga y que muchos
usuarios no nos podemos costear debido a sus altos precios. Tiene una función que se me hace
especialmente útil para guardar archivos en jpg: mediante un botón deslizante es posible ajustar
la tasa de compresión a la vez que vemos el tamaño del archivo resultante y una vista previa de la
fotografía si decidiéramos aplicar esa tasa de compresión, ni que decir lo útil que es para aquellos
que se inician y no tienen ni idea de que tanto comprimir la imagen.
Para su instalación es necesario descargar GTK (componentes que The GIMP necesita
para trabajar) y The GIMP (que es el programa). Instalalos exactamente en este orden, pero antes
descargalos de http://gimp-win.sourceforge.net/stable.html
Conclusiones
La finalidad de comprimir es ahorrar espacio y poder transmitir la misma cantidad de
información en un menor tiempo a través de una red.
La compresión sin perdida esta más orientada hacia archivos que no sean de música,
fotografía y video, ya que la perdida de información en este tipo de archivos sería fatal. La
compresión con perdida logra altísimas cotas de compresión a cambio de perder información y
esta perdida es irrecuperable por lo que lo más conveniente es guardar una copia sin ningún tipo
de compresión o con compresión sin perdida. Entre mayor sea la tasa de compresión menor va a
ser el tamaño del archivo pero a costa de perder calidad y viceversa.
Los métodos anteriormente mencionados para lograr la compresión (tanto en la
compresión sin perdida como con la de perdida) no son los únicos existentes pero sí son los más
socorridos. Cada compañía de software desarrolla métodos propios para mejorar la compresión y
por tanto están en constante evolución.
Hasta ahora solo he mencionado la compresión por software pero también es justo
mencionar que también existe compresión por hardware y esta es muy superior, en cuanto a
rapidez, que la compresión por software. Esto es debido a que el mismo hardware es el encargado
de realizar la compresión quitando esta carga de trabajo al procesador que ahora se puede dedicar
a otras tareas. Un ejemplo obligado son las tarjetas de video: su procesador (GPU) le quita el
trabajo al procesador principal (CPU) de tener que estar procesando las secuencias de acción de
los videojuegos actuales y de la compresión/descompresión de las películas. He allí el motivo del
alto precio de las tarjetas de video: es como tener una computadora dentro de otra computadora.