PDFMove
¿Por qué la conversión de BMP a PNG sigue siendo sin pérdidas?
Guía

¿Por qué la conversión de BMP a PNG sigue siendo sin pérdidas?

5 min de lectura

La misma imagen, dos archivos muy distintos

Cuando conviertes un archivo BMP a PNG ocurre algo curioso: el archivo se reduce de forma notable pero en la imagen no cambia ni un solo píxel. En la mayoría de quienes lo ven por primera vez surge una duda legítima: si estás reduciendo algo, ¿no tendrías que renunciar a algo?

La respuesta es no, y este artículo explica exactamente por qué.

Existen dos tipos de compresión

El origen de la confusión es que la palabra "compresión" se usa para dos procesos completamente distintos.

La compresión con pérdida gana espacio reduciendo los datos. Es lo que hace JPG: aprovechando las características del sistema visual humano, calcula y descarta la información que al ojo le cuesta percibir. El archivo se reduce mucho, pero los datos descartados se han ido para siempre. Volver a abrir el JPG y guardarlo en otro formato no devuelve esos datos.

La compresión sin pérdidas no reduce los datos; solo expresa los mismos datos de una forma más breve. Es fácil pensarlo con un ejemplo de texto: si en lugar de escribir "aaaaaaaaaa" escribes "10 aes", ocupas menos espacio sin perder ninguna información. Al abrirlo puedes reconstruir el original exactamente.

PNG pertenece al segundo grupo. BMP también es sin pérdidas: simplemente no aplica ninguna compresión. Es decir, el paso de BMP a PNG es un paso de sin pérdidas a sin pérdidas, y el único cambio aquí es cómo se empaquetan los datos.

¿Por qué BMP no comprime nada?

La filosofía de diseño de BMP se basa en la sencillez. El archivo empieza con un breve bloque de cabecera y a continuación se escriben los valores de los píxeles en orden. Lo que hay en la imagen no tiene ningún efecto sobre el tamaño del archivo; el tamaño es simplemente el producto del ancho, el alto y la profundidad de bits.

Su consecuencia concreta es esta: un cuadrado completamente blanco y una fotografía compleja de las mismas dimensiones ocupan casi el mismo espacio como BMP. La repetición, el orden o la sencillez del contenido no se valoran en absoluto.

En la especificación se define una compresión llamada RLE, pero en la práctica casi nunca se usa y solo es válida para profundidades de bits bajas. La abrumadora mayoría de los archivos BMP que te encuentras están en crudo.

Esa sencillez tenía una justificación: no exigir decodificación. Incluso un procesador muy limitado puede leer un BMP directamente y volcarlo en pantalla. Hoy esa ventaja solo tiene sentido para sistemas embebidos y dispositivos industriales; en el escritorio y en la web carece por completo de valor.

¿Cómo reduce PNG esos mismos píxeles?

El trabajo que hace PNG tiene dos fases, y ambas conservan la información.

Primera fase: la predicción. En lugar de escribir cada píxel tal cual, PNG escribe cuánto se diferencia de su vecino. Como en las imágenes los píxeles vecinos suelen parecerse mucho, esas diferencias son números pequeños y los números pequeños ocupan menos espacio. Por ejemplo, en una fotografía de cielo, al avanzar horizontalmente el color cambia muy despacio; PNG puede expresar ese cambio lento como "casi lo mismo".

Segunda fase: la compresión de patrones. Sobre los datos de diferencia obtenidos se ejecuta una compresión sin pérdidas de propósito general. Esta fase encuentra las secuencias repetidas y las acorta. La barra de herramientas gris de una captura de pantalla, el área de color plano de un logotipo, el fondo blanco de un diagrama: todo eso proporciona aquí una gran ganancia.

La característica común de ambas fases es que son reversibles. Cuando abres el archivo, las operaciones se ejecutan en sentido inverso y se reconstruyen todos los valores originales de los píxeles.

¿Qué significa esto en la práctica?

No necesitas guardar el original. Después de convertir el BMP a PNG, el PNG contiene toda la información que llevaba el BMP. Archivar el archivo de origen no aporta ninguna ventaja informativa. La única excepción es que necesites entregar el archivo a un programa que solo acepte BMP.

No hay preocupación por la calidad. No tienes que elegir un ajuste de calidad, ni hacer pruebas de configuración, ni ampliar el resultado buscando artefactos. El resultado es ya idéntico a la fuente.

Las operaciones repetidas no acumulan degradación. En JPG, abrir y guardar un archivo añade cada vez algo más de degradación. En PNG no existe esa acumulación; aunque abras y guardes el archivo cien veces, la imagen no cambia. Esa es una garantía importante para los archivos sobre los que se va a trabajar.

La ganancia depende del contenido. Las capturas de pantalla, las grabaciones de interfaz, los logotipos, los diagramas y los textos escaneados se reducen de forma espectacular en PNG. En contenido fotográfico ruidoso y de textura densa, la ganancia es más contenida, porque PNG encuentra pocos patrones. Si te encuentras en esa situación, piensa que tu contenido es en realidad fotográfico y que JPG podría ser un destino más adecuado con fines de compartición.

¿La compresión también vale en memoria?

Una pregunta frecuente: ¿el PNG también es pequeño cuando se abre?

No. La compresión solo afecta a la representación en disco. Cuando abres una imagen, el programa decodifica el archivo y coloca los píxeles en memoria en su forma cruda; en ese momento el espacio que ocupa en memoria es el mismo que el del BMP. La ventaja de PNG está en el lado del almacenamiento y la transferencia: menos espacio en disco, descargas más rápidas, archivos que caben en un correo.

En resumen

BMP y PNG son dos formatos que guardan la misma información; su diferencia está en cómo escriben esa información. BMP lo escribe todo en crudo, mientras que PNG expresa lo mismo de forma mucho más breve aprovechando los patrones. Como en la conversión entre ambos no se descarta ningún dato, la respuesta a la pregunta "qué pierdo" es clara: nada. Lo que ganas es espacio en disco, portabilidad y un formato que funciona en todas partes.

Preguntas frecuentes

Si se aplica compresión, ¿cómo puede ser sin pérdidas?

Porque existen dos tipos distintos de compresión y confundirlos es un error muy extendido. La compresión con pérdida gana espacio calculando y descartando la información que el ojo apenas percibe, y los datos descartados no vuelven. La compresión sin pérdidas, en cambio, no descarta ninguna información: solo expresa esa misma información de una forma más breve. PNG pertenece al segundo grupo: reescribe los datos aprovechando los patrones repetidos y la semejanza entre píxeles vecinos, y al abrirlo reconstruye el original por completo.

¿El archivo PNG también ocupa menos en memoria cuando se abre?

No, la compresión solo afecta a la representación en disco. Cuando abres un archivo PNG, el programa lo decodifica y coloca los píxeles en memoria en su forma cruda; en ese momento el espacio que ocupa en memoria es el mismo que el del BMP. Es decir, la ventaja de PNG está en el lado del almacenamiento y la transferencia: menos espacio en disco, carga más rápida, compartición más sencilla. En cuanto al rendimiento de visualización, en la práctica no notarás ninguna diferencia significativa entre ambos formatos.

Si vuelvo a convertir el PNG a BMP, ¿será idéntico al archivo original?

En cuanto a los datos de píxel sí, pero puede que los archivos no sean idénticos byte a byte. El valor de color de cada píxel de la imagen se conserva, así que hay una coincidencia total tanto visual como de datos. Sin embargo, las cabeceras del archivo, la disposición de la profundidad de bits, el relleno de filas y los metadatos, si los hay, pueden escribirse de forma distinta. Es decir, el resultado es la misma imagen, pero no esperes que los dos archivos coincidan exactamente en un programa de comparación.

¿Cuánto más pequeña queda la versión PNG de la misma imagen?

Depende por completo del contenido de la imagen y no es posible dar una proporción fija. En imágenes con áreas de color plano, patrones repetidos y una paleta de colores limitada —como capturas de pantalla, logotipos o diagramas— la ganancia es muy notable. En cambio, en contenido ruidoso, de textura densa o fotográfico, PNG encuentra pocos patrones y la reducción es más contenida. Aun así, frente a un BMP sin comprimir, el PNG es casi siempre considerablemente más pequeño.

Pruébalo ahora mismo con BMP → PNG Dönüştür.

Probar BMP → PNG Dönüştür