jueves, 31 de mayo de 2007

Compresores de datos

Tipos de compresión
La compresión se divide a grandes rasgos en dos tipos bien diferenciados, con pérdida de datos y sin pérdida de datos . La compresión con pérdida de datos está relegada únicamente a imágenes y sonido . Los altos niveles de compresión son aplicables gracias a que se pueden eliminar matices de detalle y color sin que el ojo humano encuentre diferencia alguna con respecto a la imagen original ya impresa . El sonido también incluye posibilidad de compresión eliminando rangos de frecuencia que el oído humano nunca escucha, localizado en frecuencias de menos de 20 Hz . y más de 20 . 000 Hz . Asimismo se añade compresión de audio sin que el oído humano encuentre diferencia alguna con respecto al original . Dos ejemplos de compresión de imágenes con pérdida ( aunque esto suele ser opcional ) son los formatos JPEG y PhotoCD de Kodak .
La compresión de datos sin pérdida es inevitable cuando los datos que vamos a comprimir no son aptos para su alteración, ya que sino se convertirían en otro datos que la aplicación que lo generó no entendería posteriormente . Numerosas aplicaciones actualmente permiten comprimir datos sin pérdida, con mayor o menor nivel, pero dentro de este grupo podemos dividirlos en varios tipos de compresión: compresión en tiempo real y compresión por aplicación .
La diferencia básica consiste en que la compresión en tiempo real compacta los datos mientras estos se graban en el disco duro . Stacker es un ejemplo de compresión en tiempo real ya conocido en el mundo de los ordenadores PC . La compresión por aplicación comprime los datos de una manera manual y automáticamente cuando se lo indiquemos .
Una matización es aplicable: el momento de la compresión; que puede ser manual ( al indicarle los archivos a compactar, lo típico en los compresores ) y automático cuando comprima una porción del disco duro mientras el ordenador esté desocupado . Compact Pro o DiskDoubler son dos compresores manuales muy conocidos, en los que el usuario decide cuándo comprimir, y AutoDoubler un ejemplo de compresor automático . En este artículo analizamos los compresores de datos sin pérdida más conocidos en el mercado, así como algunos de dominio publico .

Compresión en tiempo real
Los compresores en tiempo real, como su nombre indica, comprimen mientras estamos grabando los datos y descomprimen mientras accedemos a ellos . El funcionamiento básico se aplicó primeramente en el mundo PC, ya que el modo de instalación y acceso es más fácil que en el caso del Macintosh, claro ejemplo es la aplicación Stacker . El propio compresor se instala en una de las partes más delicadas del disco duro, el Driver o controlador, espacio de varios bloques usado para la gestión interna de archivos, reemplazando aquellas rutinas de acceso y grabación con las del compresor, por lo que son totalmente compatibles .
Los niveles de compresión realmente son bajos, pese a que los fabricantes declaren que se obtiene una compresión del doble o el triple; ya que informan al sistema operativo que han generado un disco duro del doble de capacidad pero que va desechando cuando el tipo de datos no lo permita, por ejemplo imágenes . Otro de los espacios que permiten tal compresión son los espacios libres dejados por los propios archivos, que el sistema operativo no aprovecha y que los compresores de este tipo reajustan para aumentar la capacidad del disco duro . Sin embargo, una de las particularidades de los compresores en tiempo real es la posibilidad de
instalar el compresor en un disco removible, de tal forma que si usamos dicho disco en otro ordenador los datos son accesibles como el de un removible de doble espacio . Únicamente es recomendable este sistema cuando los datos son idóneos para la compresión, como es el caso de archivos de texto y EPS .
Stacker y eDisk son los dos compresores probados que incluyen esta tecnología . Stacker provee una mejor facilidad de instalación en el disco duro, ya que no es necesario vaciar el contenido del disco duro a comprimir, todo lo contrario que eDisk . Sin embargo, eDisk incluye la posibilidad no sólo de duplicar, sino de triplicar o multiplicar por cuatro la capacidad del disco duro, evidentemente si los datos a comprimir son aptos para ello . eDisk incluye mejoras que Stacker en cuanto a ajuste de buffer ( memoria intermedia ) de compresión, diversas velocidades aplicables a modelos de Macintosh e incluso optimización y reparación .
Stacker únicamente posee el chequeo y reparación de disco duro en eventuales casos de corrupción de los datos que ya han sido comprimidos .
En cuanto al nivel de compresión, Stacker posee un mejor ratio de compactación de datos, así como una mejor velocidad en iguales condiciones en tipos de archivos, aunque eDisk incluye mejores opciones en ajuste de compresión, reparación y optimización del disco .
A nivel de archivo
Los compresores de datos mediante aplicaciones y nivel de archivo son los más numerosos en la actualidad, igualmente son los más usados gracias a su facilidad y uso práctico . Existen tanto a nivel comercial como en dominio público . Como hemos comentado anteriormente los compresores de datos a nivel de archivo tienen la posibilidad de que se realizan mediante aplicaciones o utilidades y que los archivos comprimidos deben ser descomprimidos previamente antes de ser utilizados . Algunos compresores, como AutoDoubler, descomprimen sus archivos antes de ser usados de una manera transparente, pero sus archivos han de ser comprimidos, también de una manera transparente cuando el ordenador está desocupado .
La mayoría de los compresores son manuales, es decir, se ha de indicar cuáles son los archivos a comprimir o descomprimir, antes de ser utilizados sus datos . Evidentemente existe un precioso tiempo en la compresión y descompresión, pero los ratios de compactación son mayores que cualquier otro compresor . Los compresores que se han probado en este sentido son SuperDoubler ( compuesto por AutoDoubler 2 . 0 y DiskDoubler 4 . 0 ) , StuffIt Deluxe, Compact Pro y Now Compress .


7-Zip
7-Zip es un programa libre para la compresión de datos para sistemas Microsoft Windows o Linux (utilizando la herramienta Wine si se quiere contar con la misma interfaz gráfica). Puede usarse una interfaz gráfica de usuario o bien una línea de comandos.
Por defecto el programa utiliza el nuevo formato de archivo 7z, también libre, (con extensión .7z). Este formato usa los métodos de compresión LZMA y PPMD (más adecuado para textos), desarrollados por su autor, y puede aplicar un filtro a los ejecutables para aumentar su compresibilidad. Los archivos 7z pueden ser sólidos, a diferencia de los zip, lo que mejora la compresión de conjuntos de archivos pequeños.

Existe una versión portátil de 7-Zip que puede ser transportada y usada directamente desde una memoria USB sin necesidad de instalarse en el computador.

ARJ
ARJ es una herramienta para crear archivos de ficheros comprimidos. Fue inventado por by Robert K. Jung. ARJ probablemente significa Archiver Robert Jung. Ya no se usa ampliamente.
La compresión de ARJ es similar en cierta medida a la de PKZIP 1.02. Algunas partes de ARJ estaban cubiertas por una patente americana. Estaba disponible para ser licenciado bajo términos más amigables que PKZIP. Nunca terriblemente popular, sus días cumbre fueron durante la era de las BBS en parte porque podía crear archivos multivolumen (dividiendo un archivo grande en ficheros más pequeños). ARJ también permitía al usuario alterar el nivel de compresión de un archivo, haciéndolo popular en redes de correo de paquetes pequeñas como WWIVNet y HOGnet, que usaban opciones de compresión más bajas para aprovechar la compresión basada en módem (como MNP o v.42bis) para reducir las facturas de las llamadas a larga distancia que invariablemente conllevaban la membresía en estas redes. Desde esos días, ARJ ha perdido mucha de su cuota de mercado a RAR y otros formatos; la falta de una interfaz gráfica también ha contribuido a su desaparición virtual del mundo del escritorio.
Debido a su poderosa capacidad de dividir archivos, algunos usan ARJ para hacer copias de respaldo normales de discos duros a disquetes. Una característica muy interesante que parece no estar presente en los demás archivadores populares (marzo 2006) es la capacidad de añadir, borrar y/o modificar ficheros en archivo multivolumen.


Ar (Unix)
El archivador (también conocido simplemente como ar) es una utilidad de Unix que mantiene grupos de ficheros como un único fichero archivo. Generalmente, se usa ar para crear y actualizar ficheros biblioteca que utiliza el editor de enlaces o enlazador; sin embargo, se puede usar para crear archivos con cualquier otro propósito. ar se incluye como una de las GNU Binutils.


bzip2
bzip2 es un programa libre desarrollado bajo licencia BSD que comprime y descomprime ficheros usando los algoritmos de compresión de Burrows-Wheeler y de codificación de Huffman. El porcentaje de compresión alcanzado depende del contenido del fichero a comprimir, pero por lo general es bastante mejor al de los compresores basados en el algoritmo LZ77/LZ78 (gzip, compress, WinZip, pkzip,...). Como contrapartida, bzip2 emplea más memoria y más tiempo en su ejecución.


gzip
gzip es una abreviatura de GNU ZIP, un software libre GNU que reemplaza al programa compress de UNIX. gzip fue creado por Jean-loup Gailly y Mark Adler. Apareció el 31 de octubre de 1992 (versión 0.1). La versión 1.0 apareció en febrero de 1993.

gzip se basa en el algoritmo Deflate, que es una combinación del LZ77 y el Huffman. Deflate se desarrolló como respuesta a las patentes que cubrieron LZW y otros algoritmos de compresión y limitaba el uso del compress.
No se debe confundir gzip con ZIP, el cual no es compatible. gzip no archiva ficheros, sólo los comprime. Debido a esto a menudo se usa junto con alguna herramienta para archivar (popularmente tar).
Para hacer más fácil el desarrollo del software que usa compresión, se creó la biblioteca zlib. Soporta el formato de ficheros gzip y la compresión deflate. Esta librería se usa mucho porque es pequeña, eficiente y muy versátil. Gzip y zlib fueron implementadas por Jean-Loup Gailly y Mark Adler. Desde finales de los noventa se ha producido algún movimiento de gzip a bzip2 que a menudo produce archivos más pequeños aunque es más lento.


SuperDoubler
El que mayores mejoras ha incluido, con respecto a la versión anterior, es SuperDoubler que ha incorporado en un mismo paquete los compresore DiskDoubler 4 . 0, AutoDoubler 2 . 0 y la herramienta de copia de archivos CopyDoubler 2 . 0; todo ello a un coste realmente ajustado para el bolsillo de cualquier usuario . DiskDoubler 4 . 0 ha supuesto el mayor avance de los módulos desde que Symantec Corportation comprara los derechos del compresor .
La aplicación muestra me­diante listados la jerarquía de nuestro disco duro, con información acerca de cada archivo . A partir de aquí comprimir y descomprimir es como si utilizáramos el menú del Finder de DiskDoubler ya típico . Todas las funciones típicas de DiskDoubler han sido englobadas en menús, y otras nuevas funciones han sido añadidas . En cuanto a niveles de compresión, se han mejorado notablemente los algoritmos actuales, de tal modo que los algoritmos A y B utilizados en la anterior versión 3 . 7 . 7 han sido cambiados por los llamados algoritmos 1, 2 y 3 .
Sin embargo, archivos comprimidos por cualquiera de los algoritmos de la versión 4 . 0 no puede ser descomprimido por DiskDoubler 3 . 7 . 7, siendo necesario al menos emplear la herramienta DDExpand 4 . 0, utilitario gratuito para descomprimir los archivos de todas las versiones de DiskDoubler . Otra de las interesantes funciones de esta nueva versión es Convert, que permite convertir formatos tradicionales de DiskDoubler en los modernos 1,2 y 3, ganando automáticamente espacio .
En cuanto a los niveles de compresión, se han mejorado notablemente, ya que supera con creces a los compresores rivales Compact Pro y StuffIt Deluxe . El módulo INITde DiskDoubler permite la compresión de archivos dentro del Finder, sin la necesidad de acceder a aplicaciones independientes . En dicho init se pueden ejecutar todas operaciones típicas de DiskDoubler . Funciones ya clásicas incluyen la fragmentación en archivos para guardarlos en disquetes, la generación de archivos autoejecutables y otras funciones que el usuario de esta utilidad sabrá agradecer .
AutoDoubler es otro de los módulos que incorpora SuperDoubler y que muchos usuarios ya conocen . Desde la versión precedente se han mejorado funcionalidades y eliminado algunas incompatibilidades, pero los algoritmos de compresión y los ratios alcanzados no han sido mejorados . AutoDoubler es a grandes rasgos un compresor automático que se instala como Panel de Control y que comprime los discos duros mientras el ordenador se encuentra desocupado del usuario . En ningún momento el usuario se da cuenta de cuando se está comprimiendo su disco duro, únicamente se da cuenta de que poco a poco el disco duro posee una mayor capacidad . La jerarquía de archivos sigue intacta, ya que es una de las características de los algoritmos de compresión de DiskDoubler .
Todos los archivos comprimidos mediante AutoDoubler tienen la capacidad de que pueden ser utilizados sin la necesidad de descomprimirlos mediante ninguna aplicación, ocupándose de ello el Panel de Control, sin embargo, tiene la desventaja que una vez salvado el documento este se guarda en formato descomprimido, debiendo esperar para ser de nuevo comprimido en otro momento . Incorpora dos niveles de compresión, uno mayor que otro, pero posee la peculiaridad de que a la hora de descomprimir tarda exactamente el mismo tiempo, por lo que siempre es recomendable el mayor .


Now Compress
Now Compress es un compresor de muy semejantes características a DiskDoubler, ya que este último incorpora el mismo sistema de ventanas y listados que Now Compress, en el cual se puede decidir visualmente qué archivos se comprimen o descomprimen . Su gestión a través de botones hace el uso más práctico que en el caso de DiskDoubler, sin embargo, el mero hecho de comprimir y descomprimir no necesita nada más que unas cuantas acciones, ya sea por botones o menús . Incluye la posibilidad de generar fragmentación de archivos para su almacenamiento en disquete, generar autoejecutables, duplicar, borrar, etc . cualquier archivo o carpeta; es decir, todo lo imprescindible en un compresor . Sin embargo, incluye una variante que DiskDoubler no dispone, la posibilidad de descomprimir archivos procedentes de otros descompresores como por ejemplo de Compact Pro, StuffIt y DiskDoubler/ AutoDoubler . Esta posibilidad lo hace mucho más compatible que el resto de los productos probados .
Now Compress incluye también un sistema de compresión transparente para compactar los discos duros mientras el ordenador está desocupado . Situado como Panel de Control, permite controlar qué archivos no van a ser comprimidos, qué volumenes y en qué momento han de comprimirse cuando el ordenador está desocupado . También incorpora atajos de teclado para las funciones de compresión y descompresión .
Las opciones sobre el compresor son mejores que las de su más directo rival, pero el clasicismo y mejoras de DiskDoubler en cuanto a niveles de compresión y velocidad hace que los usuarios se decanten más por éste último . La velocidad y ratios de compresión son realmente de los más notables entre los compresores probados, pero mejorado por DiskDoubler .


StuffIt Deluxe
StuffIt Deluxe es un clásico de los compresores procedente de su ya conocido StuffIt, que sigue disponle como shareware por sólo 25 dólares . StuffIt Deluxe posee también un sistema parecido al de DiskDoubler 4 . 0 y Now Compress, es decir, un listado de los ficheros que han sido comprimidos bajo un único archivo . En esto difiere de DiskDoubler, es decir, los archivos comprimidos se guardan y engloban en uno único, de tal forma que en el editor visualizamos su contenido . Al igual que los otros compresores, podemos segmentar, generar autoejecutables e incluye una opción de la que carecen los otros, la encriptación y asignación de una clave de acceso para poder descomprimir el archivo generado .
La paleta flotante ayuda a ejecutar las acciones más importantes del compresor, desde la compresión hasta la ejecución de una aplicación . Al igual que Now Compress, StuffIt Deluxe puede acceder a archivos comprimidos de numerosos formatos y procedencias: AppleLink Package, Compact Pro, Disk Doubler, Arc, Zip, etc . , lo que lo convierte en el paquete de compresión-descompresión que más acceso tiene al mundo exterior . Los ratios y niveles de compresión en prácticamente todos los tipos de archivos lo configuran como uno de los mejores compresores del mercado .
Otras opciones incluyen un menú de acceso a las funciones más comunes, e incluso un compresor transparente, SpaceSaver, que permite al igual que AutoDoubler comprimir mientras el ordenador está desocupado, pero con unos niveles de compresión más bajos que este último . La versión " Deluxe " se denomina 3 . 07, pero el pasado verano vió la luz la versión 3 . 5 en un nuevo formato .
StuffIt 3 . 5 . 2 ( última actualización ) dispone actualmente de dos módulos principales: DropStuff y StuffIt Expander . La comodidadque le faltaba a este programa ha sido superada al aplicar las funciones de " arrastrar y soltar " del Finder . Para comprimir uno o varios archivos, basta con arrastrarlos sobre el icono de DropStuff . Para descomprimirlo, otro tanto sobre Expander . Estas dos operaciones permiten también acceder a variantes si se mantiene pulsada la tecla Opción tras soltar el botón del ratón .
StuffIt 3 . 5 . 2 está basado en el denominado StuffIt Engine, un " motor " de compresión cuyo código nativo funciona tanto sobre Mac como sobre PowerMac, optimizado . Los creadores de StuffIt también se han apuntado otro tanto al hacer el programa scriptable, lo que permite automatizar tareas combinándolo con AppleScript .
Los usuarios interesados en esta última versión de StuffIt la pueden conseguir en cualquier servicio de información en línea y BBS gratuitos .


Compact Pro
Compact Pro, pese a ser un programa de shareware es uno de los compresores más usados, ya que es extremadamente simple y además es uno de los compresores con mejor nivel de compactación, compitiendo con los grandes .
Su sistema de compresión es el mismo que el utilizado en StuffIt Deluxe, es decir, bajo un único archivo . Su ventana principal muestra los archivos que han sido comprimidos y se desean descomprimir . Puede realizar autoejecutables y segmentación de archivos de una manera muy práctica . La versión 1 . 5 es ya combinada en versión normal y nativa para equipos PowerPC .
Compresores de dominio publico
Para aquellos usuarios que no dispongan de ningún presupuesto, aunque tengamos en cuenta que los compresores presentados en este artículo están al alcance de cualquier bolsillo, existen compresores de dominio publico con buenas características . Compressor 1 . 0, MacLHA 2 . 13 y ZIpIt 1 . 2 . 6 son los tres que hemos localizado con modestas o excelente opciones y niveles de compresión aunque luego existen compresores que únicamente descompactan formatos de archivos como Arc .
Compressor 1 . 0 en un compresor básico que permite con mucha similaridad a Compact Pro editar los archivos a comprimir aunque no con la misma velocidad ya que para un archivo que ha tardado 90 segundos Compact Pro en Compressor ha tardado 120 segundos, pero con un ligero mejor nivel de compresión . Sin embargo no incorpora características tan fundamentales como la segmentación en varias partes para la grabación en disquetes, pero sí posee autodescompresión . En la ventana principal se incluyen botones para las funciones más importantes . Y además es totalmente gratis .
MacLHA 2 . 13 es un compresor bastante primitivo ya que vuelca en una única ventana el listado completo sin jerarquía de todos los archivos que hemos pedido comprimir, aunque se encuentre en cualquier subdirectorio .
Esto lo hace inviable para el uso en Macintosh, ya que un simple trabajo, aplicación, etc . incluye carpetas y subcarpetas . De todas formas nada más que incluye funciones para comprimir y descomprimir, sin la posibilidad de generar autoejecutables o segmentación de archivos . Los niveles de compresión son aceptables, aunque no su tiempo para compactarlos . Prácticamente para desecharlo por parte de los usuarios de Mac .
ZipIt 1 . 2 . 6 es otro aceptable compresor con unos ratios y tiempos más que aceptables . Permite generar y acceder a ficheros ZIP tan conocidos en el mundo PC, siendo esta una de las aplicaciones que los usuarios de Mac podemos encontrar .
La ventana de edición se asemeja totalmente a la de Compact Pro, la cual nos informa sobre el espacio ganado a los archivos, el tipo de compresión, fecha, etc . Unicamente puede seleccionarse entre las opciones el método de compresión, sin que exista modo de generar un autoejecutable o segmentación de archivos . MarArc 0 . 03 es un utilitario muy básico para descomprimir archivos del tipo ARC .


Conclusión
Hoy en día podemos contar con numerosos compresores con un abanico de posibilidades, características y funcionalidades para satisfacer las necesidades de cualquier usuario . Si lo que desea es compresión en tiempo real piense antes en comprar un disco duro de mayor capacidad en vez de gastar su dinero en un utilitario que enlentecerá ligeramente su ya cargado sistema . Si ya lo ha pensado, Stacker es la mejor opción . Si lo que desea es un compresor completo y veloz, puede elegir tranquilamente entre SuperDoubler, StuffIt Deluxe y Now Compress . Personalmente creo que cualquiera de los tres son aptos . Si lo que desea es gastar poco o nada de dinero, Compact Pro y algún que otro compresor de DP . puede ser una perfecta elección .