¿Qué es la compresión de datos? Compresión sin Pérdida y con Pérdida.
La compresión de datos es una función de la capa de presentación en el modelo de referencia OSI. La compresión se usa a menudo para maximizar el ancho de banda de la red u optimizar el espacio en disco al guardar datos. Hay dos tipos generales de algoritmos de compresión:
1. Compresión sin pérdidas
2. Compresión con pérdida
Compresión sin pérdidas
La compresión sin pérdida comprime los datos de tal manera que cuando los datos se descomprimen son exactamente iguales que antes de la compresión, es decir, no se pierden datos.
La compresión sin pérdidas se utiliza para comprimir datos de archivos, como código ejecutable, archivos de texto y datos numéricos, porque los programas que procesan dichos datos de archivos no pueden tolerar errores en los datos.
La compresión sin pérdida normalmente no comprime archivos tan bien como las técnicas de compresión con pérdida, y puede requerir más potencia de procesamiento para completar la compresión.
Algoritmo de compresión sin pérdidas
Los diversos algoritmos utilizados para lograr la compresión de datos sin pérdidas son:
- Codificación de longitud de ejecución
- Modulación de código de pulso diferencial
- Codificación basada en diccionario
1. Codificación de longitud de ejecución
Este método reemplaza las apariciones consecutivas del símbolo dado con una copia de ese símbolo y un recuento del número de apariciones de ese símbolo. De ahí el nombre de "longitud de ejecución".
Por ejemplo, la cadena AAABBBDDDD se codificaría como 3A2B1C4D.
Un ejemplo de la vida real de cómo funciona muy bien la codificación de longitud de ejecución es la máquina de fax.
La mayoría de los faxes son blancos, con texto negro ocasional. Entonces, un esquema de codificación de longitud de ejecución podría transmitir el código blanco, luego el número de píxel, luego el código negro y el número de píxel, y así sucesivamente, en cada línea.
Este método de compresión debe usarse con cuidado. Si no hay mucha repetición en los datos, el esquema de codificación de longitud de ejecución podría aumentar el tamaño del archivo.
2. Modulación de código de pulso diferencial
En este método, primero se coloca un símbolo de referencia.
Luego, para cada símbolo en los datos, colocamos la diferencia entre ese símbolo y el símbolo de referencia utilizado.
Por ejemplo, utilizando el símbolo A como símbolo de referencia, la cadena AAABBC DDDD se codificaría como AOOOl123333 porque A es el mismo que el símbolo de referencia, B difiere del símbolo de referencia en 1, y así sucesivamente.
3. Codificación basada en diccionario
Uno de los algoritmos de codificación basados en diccionarios más famosos es el algoritmo de compresión Lempel-Ziv (LZ).
Este método también se conoce como codificador sustituto. En este método, se construye un diccionario (tabla) de cadenas de longitud variable (frases comunes). Este diccionario contiene casi todas las cadenas que se espera que aparezcan en los datos.
Cuando alguna de estas cadenas aparece en los datos, se reemplazan por el índice del diccionario correspondiente.
En este método, en lugar de trabajar con caracteres individuales en los datos de texto, tratamos cada palabra como una cadena y generamos el índice de la palabra en el diccionario.
Por ejemplo, suponga que la palabra "compresión" tiene el índice 4978 en un diccionario en particular; es el 4978.
Las palabras son usr/share/dict/words. Para comprimir el cuerpo del texto, cada ocurrencia de la cadena "compression" se reemplaza con 4978.
Compresión con pérdida
La compresión con pérdida es una compresión que no garantiza que los datos recibidos sean exactamente iguales a los datos enviados, es decir, los datos pueden perderse. Esto se debe a que el algoritmo con pérdida elimina lo irrecuperable información.
Los algoritmos con pérdida se utilizan para comprimir imágenes fijas, video y audio. Los algoritmos con pérdida generalmente logran mejores relaciones de compresión que los algoritmos sin pérdida.
Compresión de audio
• Compresión de audio para voz o música. • Para voz, necesitamos comprimir una señal digitalizada de 64 KHz, para música, necesitamos comprimir una señal de 1.411 MHz. • Se utilizan dos tipos de técnicas para la compresión de audio:
1. Codificación predictiva
2. Codificación perceptual
Codificación predictiva
• En la codificación predictiva, las diferencias entre muestras se codifican en lugar de codificar todos los valores de muestra. • Este tipo de compresión se usa normalmente para el habla.
Se han definido varios estándares como GSM (13 kbps), G.729 (8 kbps) y G.723.3 (6,4 o 5,3 kbps).
Codificación perceptiva
Se utiliza un esquema de codificación perceptual para crear audio con calidad de CD que requiere 1,411 Mbps de ancho de banda de transmisión.
MP3 (MPEG Audio Layer 3), parte del estándar MPEG, utiliza esta codificación de percepción.
La codificación perceptual se basa en la ciencia de la psico acústica, el estudio de cómo las personas perciben el sonido.
La codificación perceptiva explota ciertas imperfecciones en el sistema auditivo humano para codificar una señal de modo que suene igual para un oyente humano aunque se vea completamente diferente en un osciloscopio.
Una propiedad clave de la codificación perceptiva es que ciertos sonidos pueden enmascarar otros sonidos.
Como ejemplo, supongamos que está transmitiendo en vivo un concierto de flauta y, de repente, alguien comienza a golpear las placas de metal con un martillo.
Nunca volverás a escuchar la flauta. Su sonido ha sido amortiguado por el martillo.
La técnica explicada anteriormente se llama enmascaramiento de frecuencia: la capacidad de un sonido fuerte en una banda de frecuencia para ocultar un sonido más suave en otra banda de frecuencia que podría escucharse sin el sonido fuerte.
El enmascaramiento también se puede basar en el tiempo. Por ejemplo: incluso si el martillo no golpea la placa de metal, el flautín será inaudible durante un breve período de tiempo porque el oído disminuirá la ganancia al principio y tardará un tiempo finito en volver a activarse.
Por lo tanto, los sonidos fuertes adormecen temporalmente nuestros oídos incluso después de que el sonido se detiene. Este efecto se llama enmascaramiento temporal.
MP3
MP3 utiliza dos fenómenos, enmascaramiento de frecuencia y enmascaramiento de tiempo, para comprimir señales de audio.
En tales sistemas, la técnica analiza el espectro y lo divide en grupos. Los ceros se asignan a rangos de frecuencia completamente enmascarados.
Se asigna un pequeño número de bits a rangos de frecuencia parcialmente enmascarados. Más en cantidad. Los bits se asignan a rangos de frecuencia no enmascarados.
Basado en el rango de frecuencia del audio analógico original, MP3 produce tres velocidades de datos: 96 kbps, 128 kbps y 160 kbps.
Si quieres conocer otros artículos parecidos a ¿Qué es la compresión de datos? Compresión sin Pérdida y con Pérdida. puedes visitar la categoría Tecnología.
Entradas Relacionadas 👇👇