domingo, 29 de noviembre de 2015

¿Cual es el mejor formato de imagen? Buscando el futuro sucesor del JPG

Primero hablé de los nuevos y mejores formatos de audio, luego de los formatos de compresion de datos, y ahora para finalizar mis post sobre comparativas de nuevos formatos, voy a hablaros sobre como esta el tema en la compresión de imágenes:






Aquí podéis ver como queda una imagen PNG de 800x600 comprimida al mismo tamaño (24 KB) en varios formatos para que comprobéis vosotros mismos las diferencias.




Si os interesan las comparativas de estos codecs os recomiendo acceder al siguiente enlace:

http://xooyoozoo.github.io/yolo-octo-bugfixes


donde podéis comprobar vosotros mismos las diferencias de compresión de todos estos formatos de forma interactiva con gran variedad de imágenes.


Cuando apareció JPEG fue una revolución en cuanto a fotografía digital, ya que su calidad de compresión era muy buena. Mas tarde apareció una mejora de este llamado JPEG2000 que trabajaba de forma distinta a como lo hacia JPG. Esta mejora al ser muy poca, y no ser compatible con los anteriores decodificadores de JPEG, no adquirió mucha popularidad.

Mas tarde, de manos de Google llegó WebP, un formato de imagen orientado a la web y con una eficiencia notablemente mayor.
Este formato lo bueno que tenia es que era soportado de forma nativa por Google Chrome, no obstante es un formato que a los demás navegadores les esta costando aceptar al pertenecer a Google. Es por esto, que hoy dia hay muchas paginas web que detectan si el navegador que se esta usando es Chrome, Opera, o cualquier otro navegador compatible para cargar sus imágenes en formato WebP.
Cuando se detecta que el navegador no es compatible con WebP, las paginas cargan su equivalente en JPG con mayor tamaño de imagen (mas tiempo de carga) o menor calidad.

Por ultimo y gracias a Fabrice Bellard's (http://bellard.org/) también conocido por otros grandes proyectos como FFMPEG o QEMU, Apareció el año pasado un codec de imagen mejor aun basado en la codificación de los frames en el codec de video H265.
Este codec conocido como BPG (Better Portable Graphics) ya consigue una notable diferencia frente a JPEG, pero de momento ni los navegadores ni los visores/editores de imagenes quieren reconocerlo.
Por suerte, existe un pequeño fichero Javascript (también desarrollado por Fabrice) que permite visualizar estos archivos en cualquier navegador, y mostrar imágenes de este formato en cualquier sitio web.

Desde la aparición de JPG han aparecido multitud de formatos intentando superarlo y ganar popularidad. Ademas de los formatos que aqui os he enseñado existen otros mas como JPEG-XR o PGF pero ninguno de estos han ganado popularidad.
Con JPG pasa lo mismo que con MP3, son formatos que están desde siempre y aunque no son los mejores,  no nos importa usarlos en una época donde la memoria cada vez es mas barata.

Recordad que podéis comentar si tenéis alguna duda o queréis decir algo. No es necesario registrarse para comentar.

1 comentario:

  1. Esta muy bien buscar mejorar la compresión, o dicho de otra manera, a mismo tamaño aumentar la calidad. Los formatos actuales tienen la deficiencia de la profundidad de bits. con 24 bits hay mucha información perdida, mas que nada si consideramos el rango dinámico que hay dentro de por ejemplo un rgb de 48 bits. Eso sumado a una mala administración de color genera imágenes aberrantes con una calidad pésima. Hace un tiempo hablando con un fotógrafo comentábamos este detalle justamente. ellos gatillan en raw no porque les moleste los artefactos que genera un jpg que son mínimos en una imagen de 30 mpx, sino porque el jpg no tiene profundidad de color y el rango dinámico es solo lo visible, por lo que todo lo sub expuesto o sobre expuesto es borrado de cuajo y no permite ni un mínimo ajuste posterior sin encontrarse con una imagen altamente degradada. A mi parecer hoy que se tienen pantallas con un rango tan amplio, deberíamos adoptar formatos de mayor calidad y luego pensar en la compresión. Cuantos de nosotros sufrimos cuando vemos una película incluso en blu-ray porque en las zonas oscuras aparecen macrobloques? 8 bits por canal en la actualidad es como intentar hacer una supercomputadora con 10 mil intel 8080.

    ResponderEliminar