¿Por qué puedo ajustar el balance de blancos de un archivo RAW pero no de un archivo JPEG?

Recientemente comencé a configurar mi DSLR para guardar archivos RAW y usar Adobe Lightroom para procesarlos. Sin embargo, todavía uso mucho mi pequeña cámara de apuntar y disparar que no tiene una opción para guardar archivos RAW. También noté que en la sala de luz las opciones de balance de blancos son diferentes con los archivos RAW y los archivos JPEG. Con los archivos RAW, tiene la opción de elegir entre una serie de ajustes de balance de blancos (fluorescente, halógeno, automático, etc.), mientras que con JPEG no. ¿Por qué es esto?

Respuestas (8)

La respuesta rápida y corta:

Todas las imágenes comienzan como archivos RAW a los que se les debe aplicar el balance de color.

Para imágenes jpeg, esta transformación se realiza en la cámara usando la configuración de balance de blancos de la cámara. Como se mencionó anteriormente, Lightroom no tiene suficiente información para deshacer esta transformación.

Los archivos RAW guardados no tienen transformaciones aplicadas por la cámara, lo que le permite a usted, el fotógrafo, decidir más tarde qué transformación de balance de blancos desea aplicar.

Consideremos la imagen capturada por el sensor (RAW) como calibrada y neutra.

La ecuación es la siguiente para generar un JPEG con balance de color:

JPEG = RAW * T

donde T es elcolor balance transformation

Normalmente, para aplicar un balance de color diferente a un JPEG, deberá aplicar la transformación inversa a la instantánea al JPEG (para restaurar la imagen neutra)

NEUTRAL = JPEG * 1/T

luego aplique la nueva transformación de color

NEW_JPEG = NEUTRAL * T2

Desafortunadamente, la imagen JPEG (al menos las generadas por mi Nikon D50) no incluye la configuración de temperatura de la imagen en el momento de la toma. Por lo tanto, Lightroom desconoce la T de la ecuación cuando solo tiene la imagen JPEG. Por lo tanto, no puede aplicar la transformación inversa para restaurar una imagen neutral.

En su lugar, utiliza diferentes transformaciones genéricas para transformar el balance de color.

Nunca pensé ver una respuesta aquí usando matemáticas, ¡pero es así!
Aquí nos gustan las matemáticas. :)

Grandes respuestas técnicas hasta ahora. Aquí hay una analogía simple que puede no ser exactamente correcta, pero de todos modos:

Un archivo RAW es como un negativo de película. Puedes trabajar con él en un cuarto oscuro (Lightroom) e imprimirlo (JPG). Un JPG es como una impresión. Una vez impreso, no hay mucho que puedas hacer.

¡Simple y conciso!
Excepto que una película tiene un perfil específico con respecto a su sensibilidad a las diversas longitudes de onda de luz ya horneadas . No importa cuánto hagas en el cuarto oscuro, no puedes cambiar ese perfil. En cierto sentido, la película en color ya está demostrada antes de ser expuesta. Lo que manipulas en el cuarto oscuro en términos de WB es en realidad mucho más parecido a lo que se hace con un jpeg que con un archivo RAW: los niveles relativos de R, G y B.

La respuesta de Decastlejau brinda una excelente perspectiva técnica para aquellos como yo que aman todo lo técnico. Para los tímidos de Hart cuando se trata de matemáticas, aquí hay una respuesta menos complicada. Con RAW, tiene datos originales del sensor, que generalmente se almacenan como lecturas originales del SENSOR rojo, verde o azul para cada píxel de un sensor digital, así como otros metadatos como detalles de exposición, estado de la cámara (es decir, balance de blancos), configuraciones, y posiblemente una variedad de datos adicionales.

Una imagen sin procesar es esencialmente un volcado directo de datos de un sensor digital, que generalmente son píxeles sensibles a la luz rojos, verdes y azules (fotositos) dispuestos en una matriz de filtros de color Bayer . Como RAW son datos originales del sensor, tiene la máxima cantidad de información disponible, que generalmente incluye una profundidad de bits considerablemente mayor (y un rango dinámico) que una imagen guardada en otro formato. Esta es la imagen "neutra" que menciona decastlejau... no se han aplicado ajustes ni curvas de tono, son datos realmente originales.

Los píxeles de una imagen RAW no se asignan directamente a los píxeles de una pantalla y, como tales, no se pueden ver directamente. Para ver una imagen RAW, estos datos de píxeles del sensor sin procesar deben pasar a través de un algoritmo de renderizado que toma los datos del sensor sin procesar y aplica varios ajustes y atenuaciones, como una curva de tono., ajustes de balance de blancos, ajustes de exposición, etc. para generar píxeles de pantalla que contienen elementos rojos, verdes y azules. Este algoritmo debe aplicarse cada vez que se realice un ajuste a una imagen RAW para ver la imagen final en una pantalla. Al trabajar con RAW de esta manera, mantiene los datos originales del sensor en un estado prístino, lo que le permite alterar radicalmente cualquiera de los ajustes en este "canal de procesamiento" en cualquier momento y ver resultados ideales en la imagen representada en la pantalla. La mayor parte del procesamiento algorítmico de datos RAW da como resultado una PÉRDIDA de información en la imagen final en un grado u otro. La aplicación de una curva de tono, por ejemplo, generalmente da como resultado un contraste mejorado, pero una pérdida en el rango dinámico.

Una imagen JPEG, a diferencia de una imagen RAW, es aquella que ya ha sido procesada por un algoritmo que aplica una curva de tono, ajustes de balance de blancos, etc. para crear una imagen final. Dado que un archivo JPEG ya está procesado, los datos originales del sensor se pierden. Lo mismo se aplicaría si su cámara guardara un archivo TIFF en lugar de un JPEG... el procesamiento de los datos originales del sensor los "congela" en un estado final. Las imágenes procesadas no están completamente desprovistas de espacio para la cabeza, y aún se pueden hacer ajustes. Cuanto mayor sea la profundidad de bits y más amplia la gama en la que guarde, más espacio libre tendrá, sin embargo, nunca tendrá la misma cantidad de flexibilidad que tendría si estuviera usando RAW.

Un ejemplo del headroom limitado está en el área de los ajustes del balance de blancos. Cada píxel en un JPEG ahora contiene información de color rojo, verde y azul. Esto limita la cantidad de corrección del balance de blancos que puede lograr sin encontrar tintes de color extraños o división de color, especialmente con ajustes más grandes. Es posible llevar estos ajustes más lejos con RAW, ya que puede volver a mezclar cada píxel en la imagen final a partir de los datos originales del sensor rojo, verde y azul, lo que le permite eliminar los tintes de color.

En realidad, puede ajustar el balance de blancos a partir de una imagen jpg. Solo que los resultados serán muy inferiores a los que puede obtener de un archivo RAW. Como se discutió mucho mejor en otras respuestas, los archivos jpg contienen muchos menos datos que los RAW, por lo que no existe tal margen para cambiar el balance de color. Lo mismo es cierto para los ajustes de exposición y contraste.

Dicho esto, ¿es posible de todos modos cambiar ligeramente el balance de blancos de las imágenes jpg usando otros programas, pero en Lightroom decidieron que los malos resultados que puede lograr con los archivos jpg no serán lo suficientemente buenos para el usuario típico de Lightroom?

Tenga en cuenta también que esto no tiene nada que ver con las técnicas de compresión jpg, solo que el formato de archivo jpg almacena menos información.

No es solo que haya menos información, sino que la información particular que se pierde es crucial para este ajuste. Para ajustar wb en un JPEG, debe tener una idea del ajuste que ya se le aplicó (o bien adivinar, o hacer que la computadora lo adivine).
Realmente no, desde el punto de vista del algoritmo, solo es cuestión de ponderar de manera diferente los 3 canales RGB. Además, desde un punto de vista práctico, solo necesita encontrar un píxel blanco real (o gris neutro) en la imagen para wb.

Quizás esta analogía ayude a aclarar la razón por la cual el balance de blancos RAW es superior al balance de blancos JPEG.

Imagina que tienes una imagen en blanco y negro. Está bastante claro que no hay una forma automatizada de devolver el color a esa imagen. Dado que hay muchos tonos de color diferentes que se asignan a un tono de gris determinado, no hay forma de saber cuáles eran los colores originales. Puedes adivinar (como se hacía al colorear películas antiguas), pero nunca puedes estar seguro.

Ahora imagine una imagen cuyo balance de blancos estaba tan arruinado que todo es de un tono azul. Esta situación es similar a la de la imagen en blanco y negro. Ha perdido información sobre los rojos y los verdes que estaban originalmente en la imagen. Un programa de computadora que elimine el tinte azul para que no haya un tinte general no le devolverá la imagen original, sino una toma en blanco y negro.

Por supuesto, la mayoría de los balances de blancos no están tan desordenados como en los ejemplos anteriores, y el balance de blancos JPEG funciona bien. Pero, siempre obtendrá una conversión más precisa cuando tenga la información original de la toma, como en RAW.

La respuesta de decasteljau es excelente sobre el funcionamiento técnico. Sin embargo, permítanme agregar algo de pelusa:

Un archivo RAW tiene datos lineales del sensor: más fotones golpean cada sitio de fotos equivale a una lectura directamente más alta. Y eso se divide uniformemente en rojo, verde y azul. (Bueno, técnicamente, el doble de receptores verdes en la mayoría de los sensores. Pero eso es un detalle de implementación).

Sin embargo, no es así como el sistema de visión humano (el ojo y el cerebro) percibe las cosas.

En primer lugar, percibimos el brillo de forma no lineal, por lo que podemos lidiar con el sol brillante y las sombras oscuras en la misma escena sin que se vea extraño. Esta es la razón por la que se aplican curvas a una imagen RAW para crear una imagen de salida final atractiva. Podría omitir esto y generar un JPEG lineal, pero se vería plano (sin juego de palabras) y extraño.

En segundo lugar, percibimos el color en función de un sentido inherente de qué cosas deben colorearse, razón por la cual nos parecen normales bajo luces frías y cálidas, e incluso, después de un poco de ajuste, bajo una luz muy extraña. Si la luz es "realmente" fuertemente azul, tendemos a no verla, pero si toma una fotografía, se registrarán más fotos azules. Un archivo de imagen no sabe cómo "deberían" verse las cosas y necesita que se le aplique una corrección de balance de blancos para que la imagen coincida con nuestras expectativas mentales.

Al convertir desde un archivo RAW, el convertidor funciona desde un punto de partida conocido. Tiene un perfil detallado para su modelo de cámara (o incluso uno que haya generado usted mismo), o al menos una matriz de color básica que coincida con la salida general de esa cámara. Entonces, puede pasar de ese estado para aplicar varios ajustes: este es el "RAW * T" en la respuesta de decasteljau, y si cambia de opinión, dado que generalmente el archivo RAW original no se modifica, puede comenzar nuevamente desde esa línea de base y aplicar una transformación diferente.

Una vez que tiene un archivo JPEG, esa línea de base se pierde y no se sabe desde dónde comenzar los ajustes.

Las curvas de tono y la saturación dificultan esto porque:

(1) suceden después del balance de blancos

(2) no son lineales, lo que significa que el orden de las operaciones importa

(3) dependen del modelo de cámara y de la configuración de Picture Control

1 y 2 significan que este procesamiento debe revertirse antes de poder ajustar el balance de blancos. 3 significa que es imposible retroceder con precisión.

Existe una transformación que puede corregir el balance de blancos sin retroceder en estos otros pasos, pero esa transformación no es lineal y es diferente para cada cámara. Un usuario paciente puede encontrarlo manualmente usando un control de Curvas. Hacerlo automáticamente requeriría ingeniería inversa específica de la cámara.

Creo que obtuviste la mejor respuesta.