Descubre los hechos básicos en los que se basa la compresión de imágenes.

Una introducción a los principios y métodos de compresión de imágenes

Por mi afición y estudio de Photoshop, alquilé una biblioteca de enciclopedias mundiales hace dos días. Después de cargarlo en la computadora, mostró que a la unidad D solo le quedaban 4 GB, lo cual es realmente muy poco para personas como yo a quienes les gusta ahorrar materiales. Además, descubrí que el tamaño de las imágenes en la galería grande era de aproximadamente 1,5. M, que era el mismo que normalmente coleccionaba en línea. Los tamaños de las imágenes varían mucho. Las imágenes que guardo generalmente pesan alrededor de 100 KB. A menos que sean tomadas con una cámara digital, pesan aproximadamente 0,5 M. No son tan claras como las imágenes de 100 KB, así que intenté comprimir la biblioteca de la enciclopedia. El artículo de hoy es una breve introducción a los principios y métodos simples de compresión de imágenes.

Primero, presentaré dos técnicas para renderizar imágenes en la computadora.

Existen dos tecnologías de representación de imágenes, la tecnología de mapa de bits y la tecnología vectorial. Los gráficos vectoriales se utilizan principalmente para gráficos de dibujos animados creados por computadora y gráficos regulares en matemáticas. Hay muchas cosas con las que entramos en contacto en la vida diaria, como las fotografías digitales. Las imágenes escaneadas en la computadora son mapas de bits.

Para los gráficos vectoriales, la compresión es innecesaria, porque los gráficos vectoriales se implementan mediante comandos, no en forma de celosía, por lo que no importa cuán grande o pequeño lo hagas, el comando sigue siendo el mismo. y el formato no se puede cambiar en absoluto. Si cambia el formato, perderá todas las funciones de los gráficos vectoriales, por lo que hoy no hablaremos de gráficos vectoriales, sino principalmente de la tecnología de compresión de mapas de bits.

Para la compresión de mapas de bits, existen básicamente dos métodos:

El primer método es la compresión de conversión de tipo de formato.

Este método consiste en utilizar alguna tecnología (como jpeg es una tecnología) para volver a codificar la imagen. Para los archivos de imagen, existen muchas extensiones, como bmp, jpeg (jpg), gif, etc. Si quieres saber más al respecto, puedes consultarlo online. Cada formato cuadrado corresponde a una codificación de imagen. Entre tantas codificaciones, la tecnología jpeg puede lograr una compresión de imágenes con menos pérdidas (no sin pérdidas). Si la extensión del archivo de la imagen es . BMP, entonces primero deberías usar este método para convertir directamente la extensión a. JPEG. El método de operación es muy simple. Utilice la mesa de trabajo que viene con Windows XP para abrir la imagen y luego, cuando la guarde como, simplemente seleccione jpg o jpeg como formato. Si está ejecutando el sistema operativo Windows 2000, no puede utilizar el tablero de dibujo para guardarlo como un archivo jpg. Seleccione Programas->Accesorios->Procesamiento de imágenes en el menú Inicio para completar la operación anterior. El método de operación es el mismo. También puede utilizar la función de conversión automática de QQ para convertir el formato de la imagen enviando imágenes a otras personas, luego "haga clic derecho" en la imagen que se muestra en QQ y seleccione Guardar como. Entonces la imagen guardada es una imagen comprimida. Por supuesto, existen muchos software que tienen esta función, especialmente cuando se requiere procesamiento por lotes. Le sugiero que utilice mejor la ayuda de software, como PhotoShop y ACDSEE. Presentaré el método específico en un artículo futuro.

La tecnología más popular actualmente es utilizar codificación jpeg para comprimir imágenes. Cito un sitio web de imágenes profesionales para explicar el principio de esta tecnología. Si no quieres saber más, puedes saltarte este párrafo:

El principio básico de comprimir archivos es encontrar los bytes repetidos en el archivo y usar los mismos bytes para crear un archivo de "diccionario". y usar un código para representarlo. Por ejemplo, en varios lugares del archivo, la misma palabra "chino * * * y China" se representa mediante un código y se escribe en el archivo "diccionario", de modo que el archivo se pueda reducir.

Dado que la información procesada por la computadora se expresa en forma de números binarios, el software de compresión utiliza caracteres especiales para marcar las mismas cadenas en la información binaria para lograr el propósito de la compresión. Para ayudarle a comprender la compresión de archivos, imagine en su mente una imagen de un cielo azul y nubes blancas. Para miles de monótonos píxeles azules, en lugar de definir una larga lista de colores "azul, azul, azul...", es más conciso decirle a la computadora: "Almacene 1117 píxeles azules desde esta ubicación", lo que puede ahorrar una gran cantidad de dinero. Este es un ejemplo muy simple de compresión de imágenes. En última instancia, todos los archivos informáticos se almacenan en forma de "1" y "0".

Al igual que los píxeles azules, mediante fórmulas de cálculo matemático razonables, el tamaño del archivo se puede comprimir en gran medida para lograr el efecto de "datos densos y sin pérdidas". En términos generales, la compresión se puede dividir en compresión con pérdida y compresión sin pérdida. Si la pérdida de datos individuales no tendrá mucho impacto, es una buena idea ignorarlos. Esto es compresión con pérdida. La compresión con pérdida se usa ampliamente en archivos de animación, sonido e imagen, los representantes típicos son mpeg, mp3 y jpg. Pero en la mayoría de los casos, los datos comprimidos deben ser precisos, por lo que la gente ha diseñado formatos de compresión sin pérdidas, como los comunes zip y rar. El software de compresión es, naturalmente, una herramienta que utiliza principios de compresión para comprimir datos. El archivo generado después de la compresión se llama archivo y su tamaño es solo una fracción o incluso menor. Por supuesto, el paquete comprimido ya tiene otro formato de archivo. Si desea utilizar los datos, primero debe utilizar un software de compresión para restaurarlos. Este proceso se llama descompresión. El software de compresión común incluye winzip, winrar, etc.

Los datos informáticos tienen dos formas de duplicación y zip los comprime.

Se trata de la repetición en forma de frases, es decir, repetición de más de tres bytes. Para esta duplicación, zip usa dos números: 1. La distancia entre la posición de repetición y la posición de compresión actual; 2. La longitud de la repetición para representar la repetición. Suponiendo que cada uno de estos dos números ocupa un byte, los datos se comprimen, lo cual es fácil de entender.

Un byte tiene 0-255 * * 256 valores posibles, y tres bytes tiene 256 * 256 * 256 * * más de 16 millones de situaciones posibles. Los valores posibles para frases más largas aumentan exponencialmente y la probabilidad de repetición parece extremadamente baja. De hecho, todo tipo de datos tienden a ser repetitivos. En un artículo aparecen repetidamente varios términos. En una novela, los nombres de personas y lugares aparecerán repetidamente en una imagen de fondo con un degradado hacia arriba y hacia abajo, los píxeles horizontales aparecerán repetidamente y las palabras clave gramaticales aparecerán repetidamente en el archivo fuente del programa (cuántas veces; copiamos y pegamos antes y después de escribir el programa), una gran cantidad de repeticiones de frases tienden a ocurrir en datos en formato no comprimido con unidades de decenas de kilobytes. Después de la compresión anterior, la tendencia a la repetición de frases se destruye por completo, por lo que la compresión de la segunda frase del resultado de la compresión generalmente no es efectiva.

El segundo tipo de duplicación es la duplicación de un solo byte. Solo hay 256 valores posibles para un byte, por lo que este tipo de duplicación es inevitable. Entre ellos, algunos bytes pueden aparecer con más frecuencia y otros pueden aparecer con menos frecuencia, lo que tiende a distribuirse estadísticamente de manera desigual, lo cual es fácil de entender. Por ejemplo, en un archivo de texto ASCII, es posible que algunos símbolos se utilicen con poca frecuencia, mientras que las letras y los números se utilizan con más frecuencia y la frecuencia de uso de cada letra también es diferente. Se dice que la letra E tiene la mayor probabilidad de uso; muchas imágenes son oscuras o brillantes, y se usan más píxeles oscuros (o brillantes) (por cierto: el formato de imagen png es una compresión sin pérdidas y su algoritmo central es el algoritmo zip, que es el mismo que el formato zip. La principal diferencia del archivo es que, como formato de imagen, almacena información como el tamaño de la imagen y la cantidad de colores utilizados en el encabezado del archivo); La compresión de frases anterior también tiene esta tendencia: las repeticiones suelen aparecer cerca de la posición de compresión actual y la longitud de la repetición suele ser más corta (dentro de los 20 bytes). Esto da como resultado la compresión: se recodifican 256 bytes de modo que los bytes que ocurren con más frecuencia usen una codificación más corta y los bytes que ocurren con menos frecuencia usen una codificación más larga. De esta forma, cuando hay más bytes cortos que largos, la longitud total del archivo se reduce y cuanto más desigual sea el uso de bytes, mayor será la relación de compresión.

Se puede decir que los jpg se han comprimido muy bien, y los que no se pueden comprimir sufrirán menos pérdidas. Dependiendo de sus diferentes requisitos de calidad de imagen, la relación de compresión puede variar mucho, pero generalmente es muy grande (este es el encanto de la tecnología). Al comprimir usando su software dedicado, es posible que le brinde algunas opciones de compresión. Al ajustar la calidad de la imagen, será mejor que no baje de 40, ya que esto causará un gran daño a la imagen. Esto en sí mismo es una cuestión de opciones dentro de la tecnología JPEG, dependiendo de cuánta compresión necesites.

El segundo método: ajustar el tamaño de la imagen (algunos pueden llamarse ajuste de resolución)

Este método consiste en realidad en cambiar el tamaño de la imagen, una foto de 3000*2000, cuando El tamaño se ajusta a 600*400, su tamaño será 1 de los 25 originales. Por supuesto, de acuerdo con el principio de representación de mapa de bits, también podemos considerar reducir la cantidad de colores en la imagen, pero generalmente no lo hacemos. Los usuarios del sistema operativo Windows XP pueden utilizar el propio tablero de dibujo del sistema para realizar modificaciones. El método de operación es simple. Después de abrir la imagen con la mesa de trabajo, seleccione Estirar/Distorsionar en el menú "Imagen" (o vea la tecla de acceso directo Ctrl w), ingrese la proporción que desea reducir (simplemente ajústela al tamaño normal, si es demasiado pequeña, puede Puede usar Ctrl Z para deshacer la operación) y finalmente guardar la imagen. Los usuarios del sistema operativo Windows 2000 pueden utilizar el software de procesamiento de imágenes que viene con el sistema para realizar modificaciones. El método de operación es iniciar el menú y seleccionar Programa->Accesorios->Procesamiento de imágenes. Después de abrir la imagen, seleccione Propiedades->Tamaño en el menú de la página para modificar el tamaño de la imagen. Finalmente guarde la imagen. Los amigos que usan ACDSEE pueden realizar las siguientes operaciones: abra la imagen que desea comprimir con ACDSEE, seleccione Editar en la barra de herramientas y luego seleccione Cambiar tamaño en la barra de herramientas del editor de imágenes emergente para restablecer el tamaño de la imagen. Por ejemplo, si la imagen se cambia de 1024×768 a 640×480, el tamaño de la imagen se reducirá naturalmente. Por supuesto, cambiar el tamaño de la imagen también afectará el efecto de visualización de la imagen hasta cierto punto.

Actualmente existen muchos software dedicados desarrollados por particulares para la compresión del volumen de imágenes, como MyPhotoZip, Jpeg Imager, optimizador de imágenes, etc. También pueden comprimir imágenes con mayor precisión, pero el uso de este software es relativamente problemático. Pero los principios utilizados no son más que los dos métodos que mencioné anteriormente, algunos de los cuales utilizan la codificación jpeg2000, que es una tecnología más simple que jpeg y es bastante buena. Cómo utilizar una tecnología de codificación más razonable para comprimir imágenes es demasiado profundo. Aunque tengo cierta información sobre esto, yo mismo no he investigado en profundidad. Obtendrá una idea de estas cosas y comprimirá sus imágenes adecuadamente.

Recordatorio de Feiyue: La compresión de imágenes se realiza a expensas de cambiar la calidad de la imagen en sí. Aunque es posible que no lo sintamos en absoluto, no importa qué método de compresión utilice, la calidad de la imagen se dañará.