Skip to main content

¿Qué es un algoritmo de compresión?

Los archivos de computadora pueden ocupar una gran cantidad de espacio en un disco duro, así como una gran cantidad de ancho de banda para transmitir. Para ahorrar espacio, especialmente con archivos a los que no se accede con frecuencia, y ancho de banda para los archivos que se transmiten, se han desarrollado métodos de almacenamiento para guardar los datos en un paquete más pequeño comprimiéndolos de alguna manera. En cada caso, se utiliza un algoritmo de compresión, un método para reducir el tamaño de los datos. Existen varias categorías y tipos populares de algoritmos de compresión, cada uno de los cuales funciona de manera diferente, y algunos de los cuales tienen resultados que difieren de manera importante. Usando varios algoritmos de compresión, generalmente es posible reducir un archivo de texto a menos de la mitad de su tamaño original; para archivos gráficos, los resultados varían ampliamente. El archivo que resulta de la compresión puede ser un formato diferente o un archivo de almacenamiento, que a menudo se usa para almacenamiento, transmisión y distribución.

Una forma de clasificar los algoritmos de compresión es si usan un diccionario o métodos estadísticos para comprimir datos. El método del diccionario se enfoca en frases repetibles y se usa en imágenes GIF y en archivos JAR y ZIP. El método estadístico se basa en la frecuencia de uso para realizar una conversión, que se realiza en dos pases. Un ejemplo es Modified Huffman (mh), utilizado en algunas máquinas de fax.

Una segunda forma de categorizar los algoritmos de compresión, y la que los programadores no profesionales encuentran con mayor frecuencia es si son sin pérdida o con pérdida. Un algoritmo de compresión de datos sin pérdida es uno que comprime los datos de tal manera que cuando se descomprime, es exactamente idéntico al archivo original. Un ejemplo de algoritmo de compresión de datos sin pérdida es lzw (algoritmo Lempel-Ziv-Welch). Desarrollado en 1977 por Lempel y Ziv y mejorado en 1984 por Welch, se usa en archivos como GIF, TIF y PDF, así como en ciertos módems.

Un algoritmo de compresión de datos con pérdida tiene la capacidad de reducir los datos a un tamaño más pequeño que la compresión sin pérdidas, pero a costa de algunos de los datos originales. En otras palabras, la restauración después de la compresión de datos con pérdida no proporciona una copia idéntica del archivo original. Sin embargo, el algoritmo de compresión está diseñado para limitar las pérdidas de modo que no sean evidentes para el oído o el ojo. La compresión con pérdida se utiliza en formatos de archivo como AAC, JPEG, MPEG y MP3.