Compresión de datos: en informática, qué es, tipos...
El objetivo principal de la compresión de datos es ahorrar espacio de almacenamiento o ancho de banda de transmisión, lo que a su vez puede mejorar la eficiencia en la transferencia, el acceso y el uso de datos digitales.
¿Qué es la compresión de datos?
La compresión consiste en reducir el tamaño físico de bloques de información. Un compresor se vale de un algoritmo que se utiliza para optimizar los datos al tener en cuenta consideraciones apropiadas para el tipo de datos que se van a comprimir. Por lo tanto, es necesario un descompresor para reconstruir los datos originales por medio de un algoritmo opuesto al que se utiliza para la compresión.
El método de compresión depende intrínsecamente del tipo de datos que se van a comprimir: no se comprime una imagen del mismo modo que un archivo de audio.
¿Cuáles son las características de la compresión?
- La compresión se puede definir por el factor de compresión, es decir, el número de bits de la imagen comprimida dividido por el número de bits de la imagen original.
- El radio de compresión, que se utiliza con frecuencia, es lo contrario al factor de compresión; por lo general, se expresa como porcentaje.
- Por último, la ganancia de compresión, que también se expresa como porcentaje, equivale a 1 menos el radio de compresión:
¿Cuáles son los tipos y métodos de compresión?
La compresión física y lógica
La compresión física actúa directamente sobre los datos; por lo tanto, es cuestión de almacenar los datos repetidos de un patrón de bits a otro.
La compresión lógica, por otro lado, se lleva a cabo por razonamiento lógico al sustituir esta información por información equivalente.
La compresión simétrica y asimétrica
En el caso de la compresión simétrica, se utiliza el mismo método para comprimir y para descomprimir los datos. Por lo tanto, cada operación requiere la misma cantidad de trabajo. En general, se utiliza este tipo de compresión en la transmisión de datos.
La compresión asimétrica requiere más trabajo para una de las dos operaciones. Es frecuente buscar algoritmos para los cuales la compresión es más lenta que la descompresión. Los algoritmos que realizan la compresión de datos con más rapidez que la descompresión pueden ser necesarios cuando se trabaja con archivos de datos a los cuales se accede con muy poca frecuencia (por razones de seguridad, por ejemplo), ya que esto crea archivos compactos.
La compresión con pérdida
La compresión con pérdida, a diferencia de la compresión sin pérdida, elimina información para lograr el mejor radio de compresión posible mientras mantiene un resultado que es lo más cercano posible a los datos originales. Es el caso, por ejemplo, de ciertas compresiones de imágenes o de sonido, como por ejemplo los formatos MP3 o el Ogg Vorbis.
Como este tipo de compresión elimina información que está contenida en los datos que se van a comprimir, por lo general se habla de métodos de compresión irreversible. Los archivos ejecutables, por ejemplo, no pueden comprimirse mediante este método, porque necesitan especialmente preservar su integridad para poder ejecutarse. De hecho, es inconcebible reconstruir un programa omitiendo y después agregando bits.
Por otro lado, los datos multimedia (audio, video) pueden tolerar un cierto nivel de degradación sin que los órganos sensoriales (el ojo, el tímpano, etc.) distingan alguna degradación importante.
La codificación adaptativa, la semiadaptativa y la no adaptativa
- Algunos algoritmos de compresión están basados en diccionarios para un tipo específico de datos: éstos son codificadores no adaptativos. La repetición de letras en un archivo de texto, por ejemplo, depende del idioma en el que ese texto esté escrito.
- Un codificador adaptativo se adapta a los datos que va a comprimir. No parte de un diccionario ya preparado para un tipo de datos determinado.
- Un codificador semiadaptativo crea un diccionario según los datos que va a comprimir: crea el diccionario mientras analiza el archivo y después lo comprime.