¿Por qué la gente usa imágenes JPG?

Veo imágenes JPG por todas partes. ¿Pero por qué?

Los archivos PNG tienen opacidad, mientras que los JPG no. Intenté exportar algunas imágenes a PNG y JPG para comparar el tamaño, y ambas coinciden o el PNG es más pequeño (dependiendo de la imagen, por supuesto).

ingrese la descripción de la imagen aquí

Esta es una imagen JPG de 512x512 que dice "JPG"

ingrese la descripción de la imagen aquí

Y esta es una imagen PNG de 512x512 que dice "PNG".

El JPG era de 31,7 kb y el PNG de 25,9 kb

Entonces, ¿qué da?

...algo me dice que hiciste un poco de trampa: tu ejemplo .png probablemente no tenga transparencia. Agregar cualquier alfa a esa imagen probablemente aumentaría su tamaño en bytes en un 25%.
Y: hola, Jedi, bienvenido a GD.SE y gracias por tu buena pregunta. Si tiene alguna pregunta sobre el sitio, eche un vistazo al centro de ayuda o siéntase libre de hacer ping a uno de nosotros en Graphic Design Chat una vez que su reputación llegue a 20. ¡Siga contribuyendo y disfrute de su tiempo aquí!
@Vincent El PNG tiene un fondo transparente, sin embargo, el texto es un poco más pequeño para adaptarse a la cadena completa de texto en la foto.
por supuesto solo dos colores (salvo algo de suavizado) reducirán un .png.
Porque están en una misión para causar cáncer de ojo.
¡Compatibilidad con IE 6, 7 y 8!
Algo que también debe saber es que .png no tiene pérdidas, mientras que .jpg no. Por lo tanto, .png es más adecuado para imágenes de origen, mientras que .jpg es más adecuado para publicación.
@Nadie PNG puede ser con pérdida o sin pérdida. Dependiendo de cómo lo exportes.
Para su información, rara vez usaría JPG para el arte lineal, como los ejemplos que usa aquí. Entonces, basado únicamente en estos ejemplos, no usaría JPG. Sin embargo, si se tratara de fotos, te darás cuenta de que obtienes resultados completamente diferentes.
La próxima vez, prueba Interwebs. Ellos saben todo .
En serio, no puedo creer que esta pregunta haya sobrevivido más de 10 segundos.
En pocas palabras, JPEG y PNG son herramientas para diferentes trabajos. Lo que ilustra en su pregunta es un excelente ejemplo de cuándo se prefiere PNG. Las fotos son cuando se prefiere JPEG.
@DA01 PNG nunca tiene pérdida, pero puede manipular la imagen con pérdida antes de exportarla a PNG para hacerla más pequeña. La especificación PNG no sabe nada sobre esto.
@Nadie, eso es cierto. Buen punto. Técnicamente hablando, sí, PNG no tiene pérdidas. Sin embargo, la mayoría de los procesadores PNG ofrecen algún tipo de compresión con pérdida de preprocesamiento, por lo que se debe tener cuidado al exportar PNG y no tratarlo como el archivo 'fuente' a menos que se sepa muy bien cómo funciona ese procesador PNG.
JPG admite CMYK. PNG no.

Respuestas (3)

Porque son mucho mejores para comprimir imágenes que tienen muchos colores y formas irregulares, como fotografías.

¿Has probado el mismo experimento que hiciste, pero luego con una fotografía? Lo más probable es que el .png sea notablemente más grande que cualquier .jpg, independientemente del factor de compresión del .jpg.

Ejemplo:

imagen png
Imagen .png, 110k

jpeg en calidad 100
.jpg al 100% de calidad, 63k

jpeg en calidad 30
.jpg al 30% de calidad, unos míseros 9k

Si mira de cerca, verá algunos artefactos en el .jpg de calidad del 30%, pero eso se debe principalmente a que el borde duro de la bombilla contra el fondo verde suave no se presta muy bien al algoritmo de compresión. Puede reducir las imágenes regulares hasta un 10 o 5% de calidad sin ninguna pérdida que notaría de un vistazo.

FWIW: después de optimizar el PNG, tiene 34 KB sin ninguna pérdida reconocible.
Vaya, nunca supe eso. Intenté convertir una fotografía que tomé a PNG y pasó de 550k a 2933k. ¿Sabes qué hace que ese sea el caso?
La compresión @JediBurrell PNG siempre es sin pérdidas (AFAIK), mientras que la compresión de JPG eventualmente eliminará la información de la imagen. En su caso, una imagen ya comprimida en JPG, aunque atractiva, contendrá bordes alrededor de cada cubo (pequeños cuadrados comprimidos que forman una imagen JPG), y PNG recoge estos artefactos para que no se pierdan. Por lo tanto, su PNG es mucho más grande que su JPG original. Volver a comprimir un JPG usando JPG empeorará esto muchas veces: el efecto se llama "metabloqueo".
@JediBurrell Si está interesado en los detalles técnicos y matemáticos, puede ver este video de Computerphile.
"el fondo verde suave no se presta demasiado bien al algoritmo de compresión": Es todo lo contrario, los gradientes están muy bien representados por JPEG, mientras que los bordes duros no lo están, produciendo artefactos cercanos. Para los curiosos, lea sobre Fourier transformando una señal cuadrada.
@Lloeki No está de acuerdo: puede ser más preciso empíricamente, pero las bandas que aparecen en los degradados suelen ser mucho más fáciles de detectar visualmente que el ruido alrededor de los bordes.

JPEG cuenta con el respaldo de la industria fotográfica y es anterior a PNG en media docena de años más o menos, mientras que PNG fue diseñado como un reemplazo para GIF, que CompuServe protegió con bastante celo. Las personas fueron demandadas por usar GIF en sus sitios web, por ejemplo, simplemente porque no usaron un programa con licencia de CompuServe para crear esas imágenes.

Desde el principio, JPEG se diseñó para recuperar algo de espacio al hacer los archivos más pequeños, a expensas de una calidad de píxel perfecto. Incluso establecer Q en 100 causará artefactos menores, en su mayoría invisibles: el daño ya está hecho, y cada vez que se modifica y guarda el archivo, se producirán más daños. Sin embargo, a menos que lo haga tantas veces, probablemente nunca notará el efecto a menos que lo busque.

PNG, por otro lado, es perfectamente sin pérdidas. Cada píxel se reproduce fielmente cada vez, sin importar cuántas veces se modifique y guarde el archivo. Sin embargo, hay un límite en lo bien que puede comprimir datos sin pérdida, aunque PNG emplea varios trucos para empaquetar tanta información en la menor cantidad de bytes de datos posible. Un JPEG de alta calidad probablemente tendrá aproximadamente el mismo tamaño que un PNG sin optimización o incluso más grande. A medida que PNG comienza a optimizarse, por ejemplo, mediante el uso de filtros o ajustando el tamaño de las ventanas, el archivo se vuelve más pequeño sin pérdidas, mientras que JPEG debe comenzar a descartar información visual para mantenerse al día.

Entonces, ¿por qué se usa JPEG? Es, después de todo, generalmente inferior en términos de fidelidad y espacio de almacenamiento. La razón principal, por supuesto, es que es un estándar de la industria y tiene un apoyo muy amplio. Prácticamente todas las cámaras del mundo utilizan RAW (literalmente, los datos sin procesar) o JPEG. Hay procesadores de datos de hardware integrados en esas cámaras para comprimir los datos JPEG lo más rápido posible, etc.

Descubrirá que esta es la misma razón por la cual el GIF todavía está en todas partes. La mayoría del software es compatible con GIF, mientras que PNG es menos compatible con el software anterior (por ejemplo, las versiones anteriores de Internet Explorer requerían un complemento para mostrar archivos PNG). A pesar de que tiene un soporte de color pésimo, admite animaciones, algo que PNG no hace (hay un formato de archivo relacionado, APNG, que nunca despegó como lo hizo PNG). GIF sigue siendo el campeón de las imágenes animadas, ya que es el único formato de archivo que puede hacerlo con un soporte generalizado.

El costo de cambiar de JPEG a PNG sería prohibitivo desde el punto de vista del hardware. Las cámaras necesitarían nuevos procesadores creados para admitir una compresión PNG rápida, por ejemplo, porque están codificados para usar JPEG en este momento. Tus viejas cámaras no tendrían ningún valor, porque tendrías que comprar una nueva con un chip PNG incorporado. Eso también significaría que tendría que convencer a un fabricante para que vaya en contra de los estándares de la industria y comience a fabricar dichos dispositivos, lo que significa que tendría que haber suficiente demanda para justificarlo, y esas cámaras inicialmente serían más caras que sus cámaras basadas en JPEG. contrapartes Es muy difícil cambiar una industria.

PNG es potencialmente sin pérdidas. El software de guardado puede optar por perder datos difíciles para un mejor formato comprimible. La naturaleza vavelet de jpeg hace que sea imposible que no tenga pérdidas.
@joojaa ¿Puede respaldar la afirmación de que la compresión PNG "puede optar por perder datos difíciles"?
@joojaa JPEG usa compresión DCT, no wavelet. Podría estar pensando en JPEG 2000.
@CJDennis Creo que joojaa se refiere al hecho de que PNG admite el color indexado: la reducción de la profundidad del color es una compresión con pérdida.
Tengo entendido que la reducción de color ocurre antes de que la imagen pase al códec PNG. El hecho de que un formato sea capaz de almacenar datos con pérdida no significa que tenga pérdida. Cambiar una imagen RGB de 32 bits con alfa a una imagen en blanco y negro de 1 bit perderá una gran cantidad de datos, pero no es PNG lo que está haciendo eso. La reducción de la profundidad de color es una conversión con pérdida, no una compresión con pérdida .
Mi error es DCT. Mi punto es que si bien PNG no tiene pérdidas, ¡no todos los optimizadores de PNG lo son! Por lo tanto, sin saber lo que usó, no sabe si el proceso tuvo pérdidas o no. Entonces, la pregunta sobre la ausencia de pérdidas no es tan simple como uno piensa. Al igual que los cambios de profundidad de color ocurren antes de guardar, los optimizadores de PNG pueden alterar las imágenes de otras maneras antes de guardar, para una huella más pequeña. @JCDennis Estos trituradores existen solo mira sus páginas de manual.

Algo que no se menciona con gran detalle es la forma en que funcionan estos algoritmos de compresión. JPEG está dirigido directamente a fotografías en las que no se notan ligeros cambios en el color de los píxeles. PNG está más dirigido a imágenes fabricadas que contienen grandes áreas de un solo color donde se aprovecha al máximo la compresión, como en su ejemplo de una enorme foto en blanco con letras negras simples. Si tomó la misma foto y puso el fondo blanco para que se desvanezca de blanco a gris de manera uniforme en la imagen de lado a lado, el tamaño png aumentaría drásticamente y jpg probablemente tendría pocos cambios. Hice un poco de codificación hace unos 10 años directamente con estos dos formatos para descomprimir estos tipos de archivos en bmps. JPEG es muy sofisticado y complejo. PNG es muy simple y solo realmente efectivo en ciertas imágenes donde el color no cambia en líneas horizontales

¿Realmente has probado esto? PNG no es simplemente una codificación de longitud de ejecución y es mucho más sofisticado de lo que sugiere. Utiliza un algoritmo adaptativo y comprimirá de manera efectiva tanto las áreas sólidas como los patrones repetidos.