Compresión de datos
Hay tres indicadores principales para medir la compresión de datos: primero, la proporción de la cantidad de almacenamiento de información requerida antes y después de la compresión es grande; segundo, el algoritmo de compresión debe ser simple, la velocidad de compresión y descompresión; debe ser rápido y la compresión y descompresión debe ser lo más grande posible. En tercer lugar, el efecto de recuperación es mejor y los datos originales se restauran lo más completamente posible.
La compresión de datos se utiliza principalmente en dos aspectos. Primero, la transmisión: al comprimir los datos originales en el extremo emisor y descomprimirlos y restaurarlos en el extremo receptor, se puede reducir efectivamente el tiempo de transmisión y aumentar el ancho de banda del canal. El segundo es el almacenamiento: comprimir los datos originales al almacenarlos y descomprimirlos al usarlos puede aumentar considerablemente la capacidad de almacenamiento del medio de almacenamiento.
Según el grado de distorsión de la compresión, la compresión de datos se divide en dos tipos: uno se llama compresión sin pérdidas y el otro se llama compresión con pérdidas.
La compresión sin pérdidas se refiere al uso de datos comprimidos para la reconstrucción (o restauración y descompresión). Cuando la señal reconstruida es completamente consistente con la señal original, los datos reconstruidos son exactamente iguales a los datos originales; utilizado. Un ejemplo muy común es la compresión de archivos de disco. Según el nivel técnico actual, los algoritmos de compresión sin pérdidas generalmente pueden comprimir los datos de archivos normales a 1/4 ~ 1/2 del tamaño original. Algunos algoritmos de compresión sin pérdidas comúnmente utilizados incluyen el algoritmo de Huffman, el algoritmo aritmético, el algoritmo de longitud de ejecución y el algoritmo de compresión LZW (Lempert-Zivwelch).
1) El algoritmo de Huffman es un método de compresión estadística y su principio es codificar de acuerdo con la probabilidad de los símbolos de datos originales. Cuanto mayor sea la probabilidad de coincidencia en los datos originales, más corta será la longitud del código correspondiente; cuanto menor sea la probabilidad de coincidencia, mayor será la longitud del código; De esta forma, los datos originales se representan con la menor cantidad de símbolos posible para lograr la compresión de datos.
2) Los algoritmos aritméticos se basan en principios estadísticos y tienen la mayor eficiencia de compresión sin pérdidas. Es decir, todos los datos a comprimir se asignan a una parte en el rango semicerrado real [0, 1]. El rango o ancho de la sección es igual a la probabilidad de información de la sección. Es decir, el valor de probabilidad obtenido multiplicando la probabilidad de aparición de todos los símbolos utilizados en el mensaje. A medida que la información a codificar se hace cada vez más larga, la porción utilizada para representar esa información se vuelve más estrecha y el número de bits utilizados para representar esa porción aumenta.
3) El algoritmo de longitud de ejecución es un método de compresión diseñado para las características de ciertos datos de texto. Principalmente elimina caracteres o bits adicionales del texto, reduciendo así el espacio de almacenamiento que ocupan los archivos de datos. El proceso de compresión es similar a la compresión de espacios en blanco, excepto que se agrega un carácter después del carácter indicador de compresión para indicar el objeto que se está comprimiendo, seguido del número de repeticiones de ese carácter. Este algoritmo tiene limitaciones, rara vez se usa solo y generalmente se usa en combinación con otros algoritmos.
4) 4) El principio del algoritmo LZW es reemplazar cadenas en los datos comprimidos con códigos de entradas del diccionario. Por lo tanto, cuantas más entradas haya en el diccionario, mayor será la tasa de compresión y aumentar la capacidad del diccionario puede mejorar la tasa de compresión. La capacidad de este diccionario está limitada por la memoria de la computadora.
La compresión con pérdida se refiere al uso de datos comprimidos para la reconstrucción. Los datos reconstruidos son diferentes de los datos originales, pero no afectan la mala comprensión de la información expresada por los datos originales. La compresión con pérdida se utiliza cuando la señal reconstruida no tiene que ser exactamente igual a la señal original. Por ejemplo, la compresión de imágenes y sonido puede utilizar compresión con pérdida, porque los datos que contiene a menudo exceden la cantidad de datos que nuestro sistema visual y auditivo pueden recibir. La pérdida de algunos datos no malinterpretará el significado del sonido o la imagen, pero puede hacerlo. Mejora enormemente la relación de compresión.