A pesar de que lleva más de dos décadas entre nosotros, el formato JPEG sigue gozando de buena salud. El primer estándar de esta especificación de codificación de imágenes digitales fue aprobado en 1992, y todavía sigue siendo el formato más utilizado en Internet y en la fotografía digital. Durante estos años otras tecnologías han intentado ocupar su lugar, como el formato BPG, del que ya os hablamos, pero a ninguna le va a resultar fácil desplazarlo.
Todos sabemos que en fotografía la alternativa real al JPEG es el RAW. Cada uno de ellos tiene sus ventajas e inconvenientes, pero, sin duda, cuando se trata de obtener la máxima calidad y necesitamos poder realizar una edición lo menos destructiva posible, la mejor opción es disparar en RAW. De las cualidades de este formato hemos hablado muchas veces en Xataka Foto, y son perfectamente conocidas; aun así, os propongo que en este post repasemos las importantes diferencias que existen entre la profundidad de color del JPEG y el RAW, un parámetro esencial que merece la pena conocer en profundidad. Vamos allá.
Primero lo básico: la notación
Aunque estoy seguro de que la mayor parte de los lectores del blog conocéis lo que os voy a contar en este apartado, no está de más repasar la base del sistema de codificación binario para entender con total claridad qué significa realmente que una profundidad de color tenga un número de bits determinado (si domináis todo esto, podéis pasar directamente al siguiente apartado del post). La notación que estamos acostumbrados a utilizar los seres humanos para realizar operaciones matemáticas utiliza la base 10, lo que significa que empleamos diez símbolos diferentes para representar nuestro sistema de numeración, que, como todos sabemos, va del 0 al 9. Sin embargo, los dispositivos digitales, como nuestros ordenadores y cámaras de fotos, emplean un sistema de numeración y cálculo que utiliza solo dos símbolos: el 0 y el 1. Si comparamos esta notación con la decimal, que es la que utilizamos nosotros, podemos darnos cuenta de que los dispositivos digitales trabajan en base 2, que es lo mismo que decir que usan un sistema binario.
Lo interesante de todo esto es que es posible pasar números del sistema decimal al binario, y a la inversa, de una forma bastante sencilla. Pero antes de que repasemos cómo hacerlo nos viene bien recordar dos ideas esenciales muy simples. La primera es que un bit puede tener en un instante determinado un único valor posible de los dos que he mencionado: o un 1, o un 0. Y la segunda es que, además del bit, que es la unidad de información binaria mínima, para procesar información digital se utilizan paquetes de 8 bits, conocidos como bytes. Un byte podría ser la siguiente cadena de unos y ceros: 11000101.
Si queremos saber qué número en notación decimal corresponde al número binario que acabamos de definir, lo único que tenemos que hacer es asignar a cada bit un peso utilizando la base 2 del código binario empezando por la derecha. Hagámoslo despacio para no perdernos. Debajo del primer 1, el de la derecha, colocaremos un 2 elevado a 0, que es 1. Después, debajo del siguiente dígito, que es un 0, colocaremos un 2 elevado a 1. En tercer lugar viene otro 1, y colocaremos un 2 elevado a 2. Ya veis que la mecánica es sencilla. Se trata, en definitiva, de asignar un peso a cada bit del número binario, que irá creciendo de derecha a izquierda, y que se indica como potencias de dos, por lo que el último 1, el del extremo izquierdo, tendrá un peso de 2 elevado a 7.
Para calcular nuestro número en notación decimal solo tenemos que resolver esa sucesión de potencias de dos, que es la siguiente ordenada de derecha a izquierda: 1, 2, 4, 8, 16, 32, 64 y 128. Ya solo nos queda un paso más: sumar los pesos asociados a los 1 de nuestro número binario original. Esto significa que tenemos que resolver esta suma: 1 + 4 + 64 + 128. El resultado es 197. Ese es el equivalente en notación decimal al número binario 11000101. Pero aún nos queda un cálculo más. Si queremos saber qué valor decimal máximo podemos codificar en un byte solo tenemos que poner todos los bits a 1, por lo que nos quedaría este byte: 11111111. Su valor en decimal es 255, lo que nos indica algo muy importante tanto en informática como en fotografía: que utilizando 8 bits, o, lo que es lo mismo, 1 byte, podemos representar un máximo de 256 valores diferentes (de 0 a 255). Esto es lo mismo que decir que con una profundidad de color de 8 bits podemos codificar hasta 256 colores.
JPEG vs RAW
Lo que hemos visto hasta este momento puede resultar un poco aburrido, pero es importante conocer bien la base para entender por qué una profundidad de color de más bits nos ofrece una gama cromática más amplia que otra con menos bits. El formato JPEG almacena la información de color y brillo de cada píxel utilizando tres números de 8 bits, o, lo que es lo mismo, 3 bytes. Cada uno de estos bytes está asociado a un canal de color (rojo, verde y azul), lo que significa que puede codificar un máximo de 256 tonos diferentes de rojo, otros tantos de verde, y otros tantos de azul. La combinación de estos tres canales de color nos permite, por otra parte, representar un total de 16.777.216 tonos, que es el resultado del producto del número de tonos de los tres canales RGB (256 x 256 x 256). Todo esto significa, sencillamente, que el formato JPEG utiliza un sistema de codificación del color de 24 bits por píxel (8 bits para cada uno de los tres canales de color).
Vamos ahora con el formato RAW. A diferencia del JPEG, que, como acabamos de ver, emplea 8 bits para codificar el tono de cada canal, el RAW utiliza 12 o 14 bits por canal, lo que equivale a una codificación de 36 o 42 bits por píxel (varía de unas cámaras a otras). Si hacemos el mismo cálculo que acabamos de resolver para el formato JPEG veremos que el RAW es capaz de representar un total de 68.719.476.736 tonos usando codificación de 12 bits por canal, y nada menos que 4.398.046.511.104 tonos utilizando codificación de 14 bits por canal. Ahí es nada.
Así trabajan las cámaras en RAW y JPEG
Los sensores de las cámaras modernas son capaces de recoger el color de cada canal utilizando 12 o 14 bits, por lo que cuando disparamos en JPEG es necesario realizar un «recorte» en esta precisión del color para adecuarla a la que es capaz de codificar el formato JPEG, que, como hemos visto, es de 8 bits por canal. Esto quiere decir que el sensor captura los 12 o 14 bits y se los envía al procesador de imagen, pero este último realiza una conversión para dejar cada canal de color en 8 bits, despreciando la información adicional. Además de abordar esta modificación destructiva del color, el procesador de imagen se encarga de generar el fichero JPEG a partir de la información capturada por el sensor, pero aplicando la configuración del balance de blancos, la saturación, el contraste y los demás parámetros definidos en el perfil JPEG de la cámara.
La generación del fichero RAW es diferente. El sensor captura 12 o 14 bits de color por canal, el procesador de imagen recibe esta información y la vuelca íntegra en un fichero sin manipular el color y sin aplicar ningún tipo de ajuste del balance de blancos, la saturación, ni ningún otro parámetro. Esto es, precisamente, lo que haremos nosotros con nuestra herramienta de procesado de imágenes RAW. Por supuesto, en estas condiciones tenemos un margen de ajuste del acabado de nuestras fotografías muy amplio sin que se produzca la más mínima pérdida de calidad.
Llegados a este punto podemos plantearnos si realmente nuestros ojos son capaces de percibir la diferencia de detalle que existe entre la codificación de color de 8 bits y las de 12 o 14 bits. Los expertos en oftalmología suelen defender que el ojo humano es capaz de percibir entre 10 y 12 millones de colores, por lo que, en teoría, los más de 16 millones de tonos que nos ofrece el formato JPEG deberían ser suficientes. Pero, en la práctica, si disparamos en JPEG+RAW con nuestra cámara y comparamos una misma fotografía tomada en ambos formatos, veremos que los degradados de color que nos ofrece el mundo real son más suaves y precisos en el formato RAW. Así que, desde el punto de vista de la profundidad de color, el RAW nos ofrece más calidad que el JPEG. Prometido.
Imágenes | Sara | Berit Watkin
En Xataka Foto | Truco express: esto es lo que no debes olvidar acerca de los espacios de color RGB, CMYK y Color Lab
Ver 7 comentarios